| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CHROME_RENDERER_PLUGINS_PLUGIN_PLACEHOLDER_H_ | 5 #ifndef CHROME_RENDERER_PLUGINS_PLUGIN_PLACEHOLDER_H_ |
| 6 #define CHROME_RENDERER_PLUGINS_PLUGIN_PLACEHOLDER_H_ | 6 #define CHROME_RENDERER_PLUGINS_PLUGIN_PLACEHOLDER_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include "content/public/renderer/render_process_observer.h" | 9 #include "content/public/renderer/render_process_observer.h" |
| 10 #include "content/public/renderer/render_view_observer.h" | 10 #include "content/public/renderer/render_view_observer.h" |
| 11 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPluginParams.h" | 11 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPluginParams.h" |
| 12 #include "webkit/glue/cpp_bound_class.h" | 12 #include "webkit/glue/cpp_bound_class.h" |
| 13 #include "webkit/plugins/webplugininfo.h" | 13 #include "webkit/plugins/webplugininfo.h" |
| 14 #include "webkit/plugins/webview_plugin.h" | 14 #include "webkit/plugins/webview_plugin.h" |
| 15 | 15 |
| 16 struct ChromeViewHostMsg_GetPluginInfo_Status; | 16 struct ChromeViewHostMsg_GetPluginInfo_Status; |
| 17 | 17 |
| 18 namespace webkit { | 18 namespace webkit { |
| 19 namespace npapi { | 19 namespace npapi { |
| 20 class PluginGroup; | 20 class PluginGroup; |
| 21 } | 21 } |
| 22 struct WebPluginInfo; | 22 struct WebPluginInfo; |
| 23 } | 23 } |
| 24 | 24 |
| 25 // Placeholders can be used if a plug-in is missing or not available | 25 // Placeholders can be used if a plug-in is missing or not available |
| 26 // (blocked or disabled). | 26 // (blocked or disabled). |
| 27 class PluginPlaceholder : public content::RenderViewObserver, | 27 class PluginPlaceholder : public content::RenderViewObserver, |
| 28 public content::RenderProcessObserver, | 28 public content::RenderProcessObserver, |
| 29 public CppBoundClass, | 29 public webkit_glue::CppBoundClass, |
| 30 public webkit::WebViewPlugin::Delegate { | 30 public webkit::WebViewPlugin::Delegate { |
| 31 public: | 31 public: |
| 32 // Creates a new WebViewPlugin with a MissingPlugin as a delegate. | 32 // Creates a new WebViewPlugin with a MissingPlugin as a delegate. |
| 33 static PluginPlaceholder* CreateMissingPlugin( | 33 static PluginPlaceholder* CreateMissingPlugin( |
| 34 content::RenderView* render_view, | 34 content::RenderView* render_view, |
| 35 WebKit::WebFrame* frame, | 35 WebKit::WebFrame* frame, |
| 36 const WebKit::WebPluginParams& params); | 36 const WebKit::WebPluginParams& params); |
| 37 | 37 |
| 38 static PluginPlaceholder* CreateErrorPlugin( | 38 static PluginPlaceholder* CreateErrorPlugin( |
| 39 content::RenderView* render_view, | 39 content::RenderView* render_view, |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 | 91 |
| 92 // Hide this placeholder. | 92 // Hide this placeholder. |
| 93 void HidePlugin(); | 93 void HidePlugin(); |
| 94 | 94 |
| 95 // Load the blocked plugin. | 95 // Load the blocked plugin. |
| 96 void LoadPlugin(); | 96 void LoadPlugin(); |
| 97 | 97 |
| 98 // Javascript callbacks: | 98 // Javascript callbacks: |
| 99 // Load the blocked plugin by calling LoadPlugin(). | 99 // Load the blocked plugin by calling LoadPlugin(). |
| 100 // Takes no arguments, and returns nothing. | 100 // Takes no arguments, and returns nothing. |
| 101 void LoadCallback(const CppArgumentList& args, CppVariant* result); | 101 void LoadCallback(const webkit_glue::CppArgumentList& args, |
| 102 webkit_glue::CppVariant* result); |
| 102 | 103 |
| 103 // Hide the blocked plugin by calling HidePlugin(). | 104 // Hide the blocked plugin by calling HidePlugin(). |
| 104 // Takes no arguments, and returns nothing. | 105 // Takes no arguments, and returns nothing. |
| 105 void HideCallback(const CppArgumentList& args, CppVariant* result); | 106 void HideCallback(const webkit_glue::CppArgumentList& args, |
| 107 webkit_glue::CppVariant* result); |
| 106 | 108 |
| 107 // Opens chrome://plugins in a new tab. | 109 // Opens chrome://plugins in a new tab. |
| 108 // Takes no arguments, and returns nothing. | 110 // Takes no arguments, and returns nothing. |
| 109 void OpenAboutPluginsCallback(const CppArgumentList& args, | 111 void OpenAboutPluginsCallback(const webkit_glue::CppArgumentList& args, |
| 110 CppVariant* result); | 112 webkit_glue::CppVariant* result); |
| 111 | 113 |
| 112 void DidFinishLoadingCallback(const CppArgumentList& args, | 114 void DidFinishLoadingCallback(const webkit_glue::CppArgumentList& args, |
| 113 CppVariant* result); | 115 webkit_glue::CppVariant* result); |
| 114 | 116 |
| 115 void OnLoadBlockedPlugins(); | 117 void OnLoadBlockedPlugins(); |
| 116 void OnSetIsPrerendering(bool is_prerendering); | 118 void OnSetIsPrerendering(bool is_prerendering); |
| 117 void OnDidNotFindMissingPlugin(); | 119 void OnDidNotFindMissingPlugin(); |
| 118 #if defined(ENABLE_PLUGIN_INSTALLATION) | 120 #if defined(ENABLE_PLUGIN_INSTALLATION) |
| 119 void OnFoundMissingPlugin(const string16& plugin_name); | 121 void OnFoundMissingPlugin(const string16& plugin_name); |
| 120 void OnStartedDownloadingPlugin(); | 122 void OnStartedDownloadingPlugin(); |
| 121 void OnFinishedDownloadingPlugin(); | 123 void OnFinishedDownloadingPlugin(); |
| 122 void OnErrorDownloadingPlugin(const std::string& error); | 124 void OnErrorDownloadingPlugin(const std::string& error); |
| 123 void OnCancelledDownloadingPlugin(); | 125 void OnCancelledDownloadingPlugin(); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 152 | 154 |
| 153 bool hidden_; | 155 bool hidden_; |
| 154 bool has_host_; | 156 bool has_host_; |
| 155 bool finished_loading_; | 157 bool finished_loading_; |
| 156 string16 plugin_name_; | 158 string16 plugin_name_; |
| 157 | 159 |
| 158 DISALLOW_COPY_AND_ASSIGN(PluginPlaceholder); | 160 DISALLOW_COPY_AND_ASSIGN(PluginPlaceholder); |
| 159 }; | 161 }; |
| 160 | 162 |
| 161 #endif // CHROME_RENDERER_PLUGINS_PLUGIN_PLACEHOLDER_H_ | 163 #endif // CHROME_RENDERER_PLUGINS_PLUGIN_PLACEHOLDER_H_ |
| OLD | NEW |