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

Unified Diff: webkit/glue/plugins/pepper_plugin_module.h

Issue 3915002: Out of process Pepper (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month 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
« no previous file with comments | « webkit/glue/plugins/pepper_graphics_2d.cc ('k') | webkit/glue/plugins/pepper_plugin_module.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/glue/plugins/pepper_plugin_module.h
===================================================================
--- webkit/glue/plugins/pepper_plugin_module.h (revision 65099)
+++ webkit/glue/plugins/pepper_plugin_module.h (working copy)
@@ -16,10 +16,25 @@
#include "ppapi/c/ppb.h"
class FilePath;
+class MessageLoop;
typedef struct NPObject NPObject;
struct PPB_Core;
typedef void* NPIdentifier;
+namespace base {
+class WaitableEvent;
+}
+
+namespace pp {
+namespace proxy {
+class HostDispatcher;
+} // proxy
+} // pp
+
+namespace IPC {
+struct ChannelHandle;
+}
+
namespace pepper {
class ObjectVar;
@@ -56,6 +71,10 @@
static scoped_refptr<PluginModule> CreateModule(const FilePath& path);
static scoped_refptr<PluginModule> CreateInternalModule(
EntryPoints entry_points);
+ static scoped_refptr<PluginModule> CreateOutOfProcessModule(
+ MessageLoop* ipc_message_loop,
+ const IPC::ChannelHandle& handle,
+ base::WaitableEvent* shutdown_event);
static const PPB_Core* GetCore();
@@ -101,9 +120,16 @@
bool InitFromEntryPoints(const EntryPoints& entry_points);
bool InitFromFile(const FilePath& path);
+ bool InitForOutOfProcess(MessageLoop* ipc_message_loop,
+ const IPC::ChannelHandle& handle,
+ base::WaitableEvent* shutdown_event);
static bool LoadEntryPoints(const base::NativeLibrary& library,
EntryPoints* entry_points);
+ // Dispatcher for out-of-process plugins. This will be null when the plugin
+ // is being run in-process.
+ scoped_ptr<pp::proxy::HostDispatcher> dispatcher_;
+
PP_Module pp_module_;
bool initialized_;
@@ -115,7 +141,7 @@
base::NativeLibrary library_;
// Contains pointers to the entry points of the actual plugin
- // implementation.
+ // implementation. These will be NULL for out-of-process plugins.
EntryPoints entry_points_;
// The name of the module.
« no previous file with comments | « webkit/glue/plugins/pepper_graphics_2d.cc ('k') | webkit/glue/plugins/pepper_plugin_module.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698