Index: chrome/browser/plugin_process_host.h |
=================================================================== |
--- chrome/browser/plugin_process_host.h (revision 8931) |
+++ chrome/browser/plugin_process_host.h (working copy) |
@@ -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 @@ |
// 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 @@ |
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 @@ |
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 PluginHost_ResolveProxy messages (manages the |
+ // requests to the proxy service). |
+ ResolveProxyMsgHelper resolve_proxy_msg_helper_; |
DISALLOW_EVIL_CONSTRUCTORS(PluginProcessHost); |
}; |