Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(810)

Unified Diff: content/browser/plugin_process_host.h

Issue 23503043: Load NPAPI plugin resources through the browser process directly instead of going through the render (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: sync Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698