Chromium Code Reviews| Index: webkit/plugins/ppapi/plugin_module.h |
| diff --git a/webkit/plugins/ppapi/plugin_module.h b/webkit/plugins/ppapi/plugin_module.h |
| index 827546faccda02123164bac6ab45c337209844cd..7301723b355f94f59142662dce22fa002501e7c6 100644 |
| --- a/webkit/plugins/ppapi/plugin_module.h |
| +++ b/webkit/plugins/ppapi/plugin_module.h |
| @@ -61,6 +61,14 @@ class WEBKIT_PLUGINS_EXPORT PluginModule : |
| PPP_ShutdownModuleFunc shutdown_module; // Optional, may be NULL. |
| }; |
| + // Allows the embedder to associate a class with this module. This is opaque |
| + // from the PluginModule's perspective (see Set/GetEmbedderState below) but |
| + // the module is in charge of deleting the class. |
| + class EmbedderState { |
|
raymes
2012/07/30 17:23:37
Not sure if it makes sense to be more descriptive
|
| + public: |
| + virtual ~EmbedderState() {} |
| + }; |
| + |
| typedef std::set<PluginInstance*> PluginInstanceSet; |
| // You must call one of the Init functions after the constructor to create a |
| @@ -76,6 +84,14 @@ class WEBKIT_PLUGINS_EXPORT PluginModule : |
| ~PluginModule(); |
| + // Sets the given class as being associated with this module. It will be |
| + // deleted when the module is destroyed. You can only set it once, subsequent |
| + // sets will assert. |
| + // |
| + // See EmbedderState above for more. |
| + void SetEmbedderState(scoped_ptr<EmbedderState> state); |
| + EmbedderState* GetEmbedderState(); |
| + |
| // Initializes this module as an internal plugin with the given entrypoints. |
| // This is used for "plugins" compiled into Chrome. Returns true on success. |
| // False means that the plugin can not be used. |
| @@ -163,6 +179,9 @@ class WEBKIT_PLUGINS_EXPORT PluginModule : |
| // Note: This may be null. |
| PluginDelegate::ModuleLifetime* lifetime_delegate_; |
| + // See EmbedderState above. |
| + scoped_ptr<EmbedderState> embedder_state_; |
| + |
| // Tracker for completion callbacks, used mainly to ensure that all callbacks |
| // are properly aborted on module shutdown. |
| scoped_refptr< ::ppapi::CallbackTracker> callback_tracker_; |