OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/renderer_host/pepper_tcp_server_socket.h" | 5 #include "content/browser/renderer_host/pepper_tcp_server_socket.h" |
6 | 6 |
7 #include <cstddef> | 7 #include <cstddef> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "content/browser/renderer_host/pepper_message_filter.h" | 10 #include "content/browser/renderer_host/pepper_message_filter.h" |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 void PepperTCPServerSocket::OnAcceptCompleted( | 119 void PepperTCPServerSocket::OnAcceptCompleted( |
120 int32 tcp_client_socket_routing_id, | 120 int32 tcp_client_socket_routing_id, |
121 int result) { | 121 int result) { |
122 DCHECK(state_ == ACCEPT_IN_PROGRESS && socket_buffer_.get()); | 122 DCHECK(state_ == ACCEPT_IN_PROGRESS && socket_buffer_.get()); |
123 | 123 |
124 if (result != net::OK) { | 124 if (result != net::OK) { |
125 SendAcceptACKError(); | 125 SendAcceptACKError(); |
126 } else { | 126 } else { |
127 scoped_ptr<net::StreamSocket> socket(socket_buffer_.release()); | 127 scoped_ptr<net::StreamSocket> socket(socket_buffer_.release()); |
128 | 128 |
129 net::IPEndPoint ip_end_point; | 129 net::IPEndPoint ip_end_point_local; |
130 net::AddressList address_list; | 130 net::IPEndPoint ip_end_point_remote; |
131 PP_NetAddress_Private local_addr = | 131 PP_NetAddress_Private local_addr = |
132 NetAddressPrivateImpl::kInvalidNetAddress; | 132 NetAddressPrivateImpl::kInvalidNetAddress; |
133 PP_NetAddress_Private remote_addr = | 133 PP_NetAddress_Private remote_addr = |
134 NetAddressPrivateImpl::kInvalidNetAddress; | 134 NetAddressPrivateImpl::kInvalidNetAddress; |
135 | 135 |
136 if (socket->GetLocalAddress(&ip_end_point) != net::OK || | 136 if (socket->GetLocalAddress(&ip_end_point_local) != net::OK || |
137 !NetAddressPrivateImpl::IPEndPointToNetAddress(ip_end_point, | 137 !NetAddressPrivateImpl::IPEndPointToNetAddress(ip_end_point_local, |
138 &local_addr) || | 138 &local_addr) || |
139 socket->GetPeerAddress(&address_list) != net::OK || | 139 socket->GetPeerAddress(&ip_end_point_remote) != net::OK || |
140 !NetAddressPrivateImpl::AddressListToNetAddress(address_list, | 140 !NetAddressPrivateImpl::IPEndPointToNetAddress(ip_end_point_remote, |
141 &remote_addr)) { | 141 &remote_addr)) { |
142 SendAcceptACKError(); | 142 SendAcceptACKError(); |
143 } else { | 143 } else { |
144 uint32 accepted_socket_id = | 144 uint32 accepted_socket_id = |
145 manager_->AddAcceptedTCPSocket(tcp_client_socket_routing_id, | 145 manager_->AddAcceptedTCPSocket(tcp_client_socket_routing_id, |
146 plugin_dispatcher_id_, | 146 plugin_dispatcher_id_, |
147 socket.release()); | 147 socket.release()); |
148 if (accepted_socket_id != 0) { | 148 if (accepted_socket_id != 0) { |
149 manager_->Send(new PpapiMsg_PPBTCPServerSocket_AcceptACK( | 149 manager_->Send(new PpapiMsg_PPBTCPServerSocket_AcceptACK( |
150 routing_id_, | 150 routing_id_, |
151 plugin_dispatcher_id_, | 151 plugin_dispatcher_id_, |
152 socket_id_, | 152 socket_id_, |
153 accepted_socket_id, | 153 accepted_socket_id, |
154 local_addr, | 154 local_addr, |
155 remote_addr)); | 155 remote_addr)); |
156 } else { | 156 } else { |
157 SendAcceptACKError(); | 157 SendAcceptACKError(); |
158 } | 158 } |
159 } | 159 } |
160 } | 160 } |
161 | 161 |
162 state_ = LISTENING; | 162 state_ = LISTENING; |
163 } | 163 } |
OLD | NEW |