diff options
Diffstat (limited to 'chrome/browser/plugin_process_host.h')
-rw-r--r-- | chrome/browser/plugin_process_host.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/chrome/browser/plugin_process_host.h b/chrome/browser/plugin_process_host.h index a4e390c..21adb90 100644 --- a/chrome/browser/plugin_process_host.h +++ b/chrome/browser/plugin_process_host.h @@ -15,6 +15,7 @@ #include "base/task.h" #include "chrome/browser/resource_message_filter.h" #include "chrome/common/ipc_channel_proxy.h" +#include "chrome/browser/net/resolve_proxy_msg_helper.h" #include "chrome/browser/resource_message_filter.h" class PluginService; @@ -34,7 +35,8 @@ class GURL; // the renderer and plugin processes. class PluginProcessHost : public IPC::Channel::Listener, public IPC::Message::Sender, - public base::ObjectWatcher::Delegate { + public base::ObjectWatcher::Delegate, + public ResolveProxyMsgHelper::Delegate { public: PluginProcessHost(PluginService* plugin_service); ~PluginProcessHost(); @@ -58,6 +60,11 @@ class PluginProcessHost : public IPC::Channel::Listener, virtual void OnChannelConnected(int32 peer_pid); virtual void OnChannelError(); + // ResolveProxyMsgHelper::Delegate implementation: + virtual void OnResolveProxyCompleted(IPC::Message* reply_msg, + int result, + const std::string& proxy_list); + // Getter to the process, may return NULL if there is no connection. HANDLE process() { return process_.handle(); } @@ -157,10 +164,9 @@ class PluginProcessHost : public IPC::Channel::Listener, ResourceDispatcherHost* resource_dispatcher_host_; - // This RevocableStore prevents ResolveProxy completion callbacks from - // accessing a deleted PluginProcessHost (since we do not cancel the - // in-progress resolve requests during destruction). - RevocableStore revocable_store_; + // Helper class for handling PluginProcessHost_ResolveProxy messages (manages + // the requests to the proxy service). + ResolveProxyMsgHelper resolve_proxy_msg_helper_; DISALLOW_EVIL_CONSTRUCTORS(PluginProcessHost); }; |