summaryrefslogtreecommitdiffstats
path: root/chrome/common/pepper_plugin_registry.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/common/pepper_plugin_registry.h')
-rw-r--r--chrome/common/pepper_plugin_registry.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/chrome/common/pepper_plugin_registry.h b/chrome/common/pepper_plugin_registry.h
index ebabc2e..60762c5b 100644
--- a/chrome/common/pepper_plugin_registry.h
+++ b/chrome/common/pepper_plugin_registry.h
@@ -14,10 +14,16 @@
#include "webkit/glue/plugins/pepper_plugin_module.h"
struct PepperPluginInfo {
- PepperPluginInfo(); // Needed to initialize |is_internal|.
+ PepperPluginInfo();
~PepperPluginInfo();
- bool is_internal; // Defaults to false (see constructor).
+ // Indicates internal plugins for which there's not actually a library.
+ // Defaults to false.
+ bool is_internal;
+
+ // True when this plugin should be run out of process. Defaults to false.
+ bool is_out_of_process;
+
FilePath path; // Internal plugins have "internal-[name]" as path.
std::vector<std::string> mime_types;
std::string name;
@@ -46,6 +52,13 @@ class PepperPluginRegistry {
// access to the plugins before entering the sandbox.
static void PreloadModules();
+ // Returns true if the given plugin is a pepper plugin that should be run
+ // out of process.
+ bool RunOutOfProcessForPlugin(const FilePath& path) const;
+
+ // Returns a preloaded module for the given path. This only works for
+ // non-out-of-process plugins since we preload them so they will run in the
+ // sandbox. Returns NULL if the plugin hasn't been preloaded.
pepper::PluginModule* GetModule(const FilePath& path) const;
~PepperPluginRegistry();