Index: content/browser/plugin_process_host.h |
=================================================================== |
--- content/browser/plugin_process_host.h (revision 222566) |
+++ content/browser/plugin_process_host.h (working copy) |
@@ -8,6 +8,7 @@ |
#include "build/build_config.h" |
#include <list> |
+#include <map> |
#include <set> |
#include <string> |
#include <vector> |
@@ -22,7 +23,10 @@ |
#include "content/public/common/webplugininfo.h" |
#include "ipc/ipc_channel_proxy.h" |
#include "ui/gfx/native_widget_types.h" |
+#include "webkit/common/resource_type.h" |
+struct ResourceHostMsg_Request; |
+ |
namespace gfx { |
class Rect; |
} |
@@ -31,6 +35,10 @@ |
struct ChannelHandle; |
} |
+namespace net { |
+class URLRequestContext; |
+} |
+ |
namespace content { |
class BrowserChildProcessHostImpl; |
class ResourceContext; |
@@ -87,9 +95,6 @@ |
// OnChannelOpened in the client is called. |
void OpenChannelToPlugin(Client* client); |
- // Cancels all pending channel requests for the given resource context. |
- static void CancelPendingRequestsForResourceContext(ResourceContext* context); |
- |
// This function is called to cancel pending requests to open new channels. |
void CancelPendingRequest(Client* client); |
@@ -125,6 +130,7 @@ |
// Message handlers. |
void OnChannelCreated(const IPC::ChannelHandle& channel_handle); |
+ void OnChannelDestroyed(int renderer_id); |
#if defined(OS_WIN) |
void OnPluginWindowDestroyed(HWND window, HWND parent); |
@@ -148,6 +154,11 @@ |
void CancelRequests(); |
+ // Callback for ResourceMessageFilter. |
+ void GetContexts(const ResourceHostMsg_Request& request, |
+ ResourceContext** resource_context, |
+ net::URLRequestContext** request_context); |
+ |
// These are channel requests that we are waiting to send to the |
// plugin process once the channel is opened. |
std::vector<Client*> pending_requests_; |
@@ -174,6 +185,10 @@ |
bool plugin_cursor_visible_; |
#endif |
+ // Map from render_process_id to its ResourceContext |
+ typedef std::map<int, ResourceContext*> ResourceContextMap; |
+ ResourceContextMap resource_context_map_; |
+ |
scoped_ptr<BrowserChildProcessHostImpl> process_; |
DISALLOW_COPY_AND_ASSIGN(PluginProcessHost); |