Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(815)

Unified Diff: content/browser/renderer_host/pepper_tcp_server_socket.cc

Issue 9669038: Added out-of-process support for server sockets. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Sync. Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/renderer_host/pepper_tcp_server_socket.h ('k') | content/ppapi_plugin/ppapi_thread.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/renderer_host/pepper_tcp_server_socket.cc
diff --git a/content/browser/renderer_host/pepper_tcp_server_socket.cc b/content/browser/renderer_host/pepper_tcp_server_socket.cc
index b108d0f61da79d36e26689680e45274212857a11..15a39c4e160237128345295e3afba9e74b6759c9 100644
--- a/content/browser/renderer_host/pepper_tcp_server_socket.cc
+++ b/content/browser/renderer_host/pepper_tcp_server_socket.cc
@@ -24,13 +24,13 @@ PepperTCPServerSocket::PepperTCPServerSocket(
PepperMessageFilter* manager,
int32 routing_id,
uint32 plugin_dispatcher_id,
- uint32 real_socket_id,
- uint32 temp_socket_id)
+ PP_Resource socket_resource,
+ uint32 socket_id)
: manager_(manager),
routing_id_(routing_id),
plugin_dispatcher_id_(plugin_dispatcher_id),
- real_socket_id_(real_socket_id),
- temp_socket_id_(temp_socket_id),
+ socket_resource_(socket_resource),
+ socket_id_(socket_id),
state_(BEFORE_LISTENING) {
DCHECK(manager);
}
@@ -57,7 +57,7 @@ void PepperTCPServerSocket::Listen(const PP_NetAddress_Private& addr,
OnListenCompleted(result);
}
-void PepperTCPServerSocket::Accept() {
+void PepperTCPServerSocket::Accept(int32 tcp_client_socket_routing_id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
if (state_ != LISTENING) {
@@ -70,30 +70,31 @@ void PepperTCPServerSocket::Accept() {
int result = socket_->Accept(
&socket_buffer_,
base::Bind(&PepperTCPServerSocket::OnAcceptCompleted,
- base::Unretained(this)));
+ base::Unretained(this),
+ tcp_client_socket_routing_id));
if (result != net::ERR_IO_PENDING)
- OnAcceptCompleted(result);
+ OnAcceptCompleted(tcp_client_socket_routing_id, result);
}
void PepperTCPServerSocket::CancelListenRequest() {
manager_->Send(new PpapiMsg_PPBTCPServerSocket_ListenACK(
routing_id_,
plugin_dispatcher_id_,
+ socket_resource_,
0,
- temp_socket_id_,
PP_ERROR_FAILED));
BrowserThread::PostTask(
BrowserThread::IO,
FROM_HERE,
base::Bind(&PepperMessageFilter::RemoveTCPServerSocket, manager_,
- real_socket_id_));
+ socket_id_));
}
void PepperTCPServerSocket::SendAcceptACKError() {
manager_->Send(new PpapiMsg_PPBTCPServerSocket_AcceptACK(
routing_id_,
plugin_dispatcher_id_,
- real_socket_id_,
+ socket_id_,
0,
NetAddressPrivateImpl::kInvalidNetAddress,
NetAddressPrivateImpl::kInvalidNetAddress));
@@ -108,14 +109,16 @@ void PepperTCPServerSocket::OnListenCompleted(int result) {
manager_->Send(new PpapiMsg_PPBTCPServerSocket_ListenACK(
routing_id_,
plugin_dispatcher_id_,
- real_socket_id_,
- temp_socket_id_,
+ socket_resource_,
+ socket_id_,
PP_OK));
state_ = LISTENING;
}
}
-void PepperTCPServerSocket::OnAcceptCompleted(int result) {
+void PepperTCPServerSocket::OnAcceptCompleted(
+ int32 tcp_client_socket_routing_id,
+ int result) {
DCHECK(state_ == ACCEPT_IN_PROGRESS && socket_buffer_.get());
if (result != net::OK) {
@@ -139,14 +142,14 @@ void PepperTCPServerSocket::OnAcceptCompleted(int result) {
SendAcceptACKError();
} else {
uint32 accepted_socket_id =
- manager_->AddAcceptedTCPSocket(routing_id_,
+ manager_->AddAcceptedTCPSocket(tcp_client_socket_routing_id,
plugin_dispatcher_id_,
socket.release());
if (accepted_socket_id != 0) {
manager_->Send(new PpapiMsg_PPBTCPServerSocket_AcceptACK(
routing_id_,
plugin_dispatcher_id_,
- real_socket_id_,
+ socket_id_,
accepted_socket_id,
local_addr,
remote_addr));
« no previous file with comments | « content/browser/renderer_host/pepper_tcp_server_socket.h ('k') | content/ppapi_plugin/ppapi_thread.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698