| Index: content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h
|
| diff --git a/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h b/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h
|
| index d0e672aa7a24e59c5a8ae14b24950fbf4dadb6a4..e88a1e64a1c3435af218084ee3bfdb8f35e07221 100644
|
| --- a/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h
|
| +++ b/content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h
|
| @@ -12,6 +12,7 @@
|
| #include "base/compiler_specific.h"
|
| #include "base/memory/ref_counted.h"
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "content/browser/renderer_host/pepper/browser_ppapi_host_impl.h"
|
| #include "content/browser/renderer_host/pepper/ssl_context_helper.h"
|
| #include "content/common/content_export.h"
|
| #include "net/base/address_list.h"
|
| @@ -47,7 +48,8 @@ class ContentBrowserPepperHostFactory;
|
| class ResourceContext;
|
|
|
| class CONTENT_EXPORT PepperTCPSocketMessageFilter
|
| - : public ppapi::host::ResourceMessageFilter {
|
| + : public ppapi::host::ResourceMessageFilter,
|
| + public BrowserPpapiHostImpl::InstanceObserver {
|
| public:
|
| PepperTCPSocketMessageFilter(ContentBrowserPepperHostFactory* factory,
|
| BrowserPpapiHostImpl* host,
|
| @@ -78,6 +80,9 @@ class CONTENT_EXPORT PepperTCPSocketMessageFilter
|
| const IPC::Message& msg,
|
| ppapi::host::HostMessageContext* context) override;
|
|
|
| + // BrowserPpapiHostImpl::InstanceObserver overrides.
|
| + void OnThrottleStateChanged(bool is_throttled) override;
|
| +
|
| int32_t OnMsgBind(const ppapi::host::HostMessageContext* context,
|
| const PP_NetAddress_Private& net_addr);
|
| int32_t OnMsgConnect(const ppapi::host::HostMessageContext* context,
|
| @@ -176,7 +181,7 @@ class CONTENT_EXPORT PepperTCPSocketMessageFilter
|
|
|
| // The following fields are used only on the IO thread.
|
| // Non-owning ptr.
|
| - ppapi::host::PpapiHost* ppapi_host_;
|
| + BrowserPpapiHostImpl* host_;
|
| // Non-owning ptr.
|
| ContentBrowserPepperHostFactory* factory_;
|
| PP_Instance instance_;
|
| @@ -226,6 +231,12 @@ class CONTENT_EXPORT PepperTCPSocketMessageFilter
|
| scoped_ptr<net::TCPSocket> accepted_socket_;
|
| net::IPEndPoint accepted_address_;
|
|
|
| + // If the plugin is throttled, we defer completing socket reads until
|
| + // the plugin is unthrottled.
|
| + bool pending_read_on_unthrottle_;
|
| + ppapi::host::ReplyMessageContext pending_read_reply_message_context_;
|
| + int pending_read_net_result_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(PepperTCPSocketMessageFilter);
|
| };
|
|
|
|
|