Chromium Code Reviews| Index: components/plugins/renderer/plugin_placeholder.h |
| diff --git a/components/plugins/renderer/plugin_placeholder.h b/components/plugins/renderer/plugin_placeholder.h |
| index 2fa6116a921c49a45eee816a4a1163780a01859e..4cee9b763ee379cdfd151a041c7e689fb595c5a7 100644 |
| --- a/components/plugins/renderer/plugin_placeholder.h |
| +++ b/components/plugins/renderer/plugin_placeholder.h |
| @@ -5,13 +5,17 @@ |
| #ifndef COMPONENTS_PLUGINS_RENDERER_PLUGIN_PLACEHOLDER_H_ |
| #define COMPONENTS_PLUGINS_RENDERER_PLUGIN_PLACEHOLDER_H_ |
| +#include <string> |
| +#include <vector> |
| + |
| +#include "base/memory/weak_ptr.h" |
| #include "components/plugins/renderer/webview_plugin.h" |
| #include "content/public/common/webplugininfo.h" |
| #include "content/public/renderer/context_menu_client.h" |
| #include "content/public/renderer/render_process_observer.h" |
| #include "content/public/renderer/render_view_observer.h" |
| #include "third_party/WebKit/public/web/WebPluginParams.h" |
| -#include "webkit/renderer/cpp_bound_class.h" |
| +#include "v8/include/v8.h" |
| namespace content { |
| struct WebPluginInfo; |
| @@ -21,7 +25,6 @@ namespace plugins { |
| // Placeholders can be used if a plug-in is missing or not available |
| // (blocked or disabled). |
| class PluginPlaceholder : public content::RenderViewObserver, |
| - public webkit_glue::CppBoundClass, |
| public WebViewPlugin::Delegate { |
| public: |
| @@ -44,6 +47,13 @@ class PluginPlaceholder : public content::RenderViewObserver, |
| virtual ~PluginPlaceholder(); |
| + // Derived classes should invoke this method to install additional callbacks |
| + // on the window.plugin object. When the callbacks are invoked, the Observe() |
|
Bernhard Bauer
2013/11/14 16:25:43
Nit: This sentence reads a bit weird. How about, "
jochen (gone - plz use gerrit)
2013/11/15 10:09:39
Done.
|
| + // method will be invoked. |
| + void RegisterCallback(const std::string& callback); |
| + |
| + virtual void Observe(const std::string& callback); |
|
Bernhard Bauer
2013/11/14 16:25:43
Nit: add a comment
jochen (gone - plz use gerrit)
2013/11/15 10:09:39
Done.
|
| + |
| void OnLoadBlockedPlugins(const std::string& identifier); |
| void OnSetIsPrerendering(bool is_prerendering); |
| @@ -73,20 +83,7 @@ class PluginPlaceholder : public content::RenderViewObserver, |
| virtual void WillDestroyPlugin() OVERRIDE; |
| virtual void ShowContextMenu(const blink::WebMouseEvent&) OVERRIDE; |
| - // Javascript callbacks: |
| - // All ignore arguments (which are, however, required by caller) and return |
| - // nothing. |
| - |
| - // Load the blocked plugin by calling LoadPlugin(). |
| - void LoadCallback(const webkit_glue::CppArgumentList& args, |
| - webkit_glue::CppVariant* result); |
| - |
| - // Hide the blocked plugin by calling HidePlugin(). |
| - void HideCallback(const webkit_glue::CppArgumentList& args, |
| - webkit_glue::CppVariant* result); |
| - |
| - void DidFinishLoadingCallback(const webkit_glue::CppArgumentList& args, |
| - webkit_glue::CppVariant* result); |
| + void InternalObserve(const std::string& callback); |
| void UpdateMessage(); |
| @@ -107,6 +104,10 @@ class PluginPlaceholder : public content::RenderViewObserver, |
| bool finished_loading_; |
| std::string identifier_; |
| + std::vector<std::string> callbacks_; |
| + |
| + base::WeakPtrFactory<PluginPlaceholder> weak_factory_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(PluginPlaceholder); |
| }; |