| Index: content/browser/renderer_host/pepper_tcp_server_socket.h
|
| diff --git a/content/browser/renderer_host/pepper_tcp_server_socket.h b/content/browser/renderer_host/pepper_tcp_server_socket.h
|
| index 77b5f43693218748c75261413ed9ce47019c157d..27a4e2f36e22f165ecad903a0ad901e82d4c81bb 100644
|
| --- a/content/browser/renderer_host/pepper_tcp_server_socket.h
|
| +++ b/content/browser/renderer_host/pepper_tcp_server_socket.h
|
| @@ -8,6 +8,7 @@
|
|
|
| #include "base/basictypes.h"
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "ppapi/c/pp_resource.h"
|
|
|
| class PepperMessageFilter;
|
| struct PP_NetAddress_Private;
|
| @@ -25,12 +26,12 @@ class 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);
|
| ~PepperTCPServerSocket();
|
|
|
| void Listen(const PP_NetAddress_Private& addr, int32 backlog);
|
| - void Accept();
|
| + void Accept(int32 tcp_client_socket_routing_id);
|
|
|
| private:
|
| enum State {
|
| @@ -44,13 +45,17 @@ class PepperTCPServerSocket {
|
| void SendAcceptACKError();
|
|
|
| void OnListenCompleted(int result);
|
| - void OnAcceptCompleted(int result);
|
| + void OnAcceptCompleted(int32 tcp_client_socket_routing_id,
|
| + int result);
|
|
|
| PepperMessageFilter* manager_;
|
| int32 routing_id_;
|
| uint32 plugin_dispatcher_id_;
|
| - uint32 real_socket_id_;
|
| - uint32 temp_socket_id_;
|
| + // socket_resource_ is used only as an ID on the browser side. So we
|
| + // don't hold the ref to this resource and it may become invalid at
|
| + // the renderer/plugin side.
|
| + PP_Resource socket_resource_;
|
| + uint32 socket_id_;
|
|
|
| State state_;
|
|
|
|
|