| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_CHROME_PLUGIN_PLACEHOLDER_H_ | 5 #ifndef CHROME_RENDERER_PLUGINS_CHROME_PLUGIN_PLACEHOLDER_H_ |
| 6 #define CHROME_RENDERER_PLUGINS_CHROME_PLUGIN_PLACEHOLDER_H_ | 6 #define CHROME_RENDERER_PLUGINS_CHROME_PLUGIN_PLACEHOLDER_H_ |
| 7 | 7 |
| 8 #include "chrome/renderer/plugins/power_saver_info.h" |
| 8 #include "components/plugins/renderer/loadable_plugin_placeholder.h" | 9 #include "components/plugins/renderer/loadable_plugin_placeholder.h" |
| 9 #include "content/public/renderer/context_menu_client.h" | 10 #include "content/public/renderer/context_menu_client.h" |
| 10 #include "content/public/renderer/render_process_observer.h" | 11 #include "content/public/renderer/render_process_observer.h" |
| 11 | 12 |
| 12 namespace gfx { | |
| 13 class Size; | |
| 14 } | |
| 15 | |
| 16 enum class ChromeViewHostMsg_GetPluginInfo_Status; | 13 enum class ChromeViewHostMsg_GetPluginInfo_Status; |
| 17 | 14 |
| 18 // This contains information specifying the poster image of plugin placeholders. | |
| 19 // The default constructor specifies no poster image. | |
| 20 struct PlaceholderPosterInfo { | |
| 21 // The poster image specified in image 'srcset' attribute format. | |
| 22 std::string poster_attribute; | |
| 23 | |
| 24 // Used to resolve relative paths in |poster_attribute|. | |
| 25 GURL base_url; | |
| 26 | |
| 27 // Specify this to provide partially obscured plugins a centered poster image. | |
| 28 gfx::Size custom_poster_size; | |
| 29 }; | |
| 30 | |
| 31 class ChromePluginPlaceholder final | 15 class ChromePluginPlaceholder final |
| 32 : public plugins::LoadablePluginPlaceholder, | 16 : public plugins::LoadablePluginPlaceholder, |
| 33 public content::RenderProcessObserver, | 17 public content::RenderProcessObserver, |
| 34 public content::ContextMenuClient, | 18 public content::ContextMenuClient, |
| 35 public gin::Wrappable<ChromePluginPlaceholder> { | 19 public gin::Wrappable<ChromePluginPlaceholder> { |
| 36 public: | 20 public: |
| 37 static gin::WrapperInfo kWrapperInfo; | 21 static gin::WrapperInfo kWrapperInfo; |
| 38 | 22 |
| 39 static ChromePluginPlaceholder* CreateBlockedPlugin( | 23 static ChromePluginPlaceholder* CreateBlockedPlugin( |
| 40 content::RenderFrame* render_frame, | 24 content::RenderFrame* render_frame, |
| 41 blink::WebLocalFrame* frame, | 25 blink::WebLocalFrame* frame, |
| 42 const blink::WebPluginParams& params, | 26 const blink::WebPluginParams& params, |
| 43 const content::WebPluginInfo& info, | 27 const content::WebPluginInfo& info, |
| 44 const std::string& identifier, | 28 const std::string& identifier, |
| 45 const base::string16& name, | 29 const base::string16& name, |
| 46 int resource_id, | 30 int resource_id, |
| 47 const base::string16& message, | 31 const base::string16& message, |
| 48 const PlaceholderPosterInfo& poster_info); | 32 const PowerSaverInfo& power_saver_info); |
| 49 | 33 |
| 50 // Creates a new WebViewPlugin with a MissingPlugin as a delegate. | 34 // Creates a new WebViewPlugin with a MissingPlugin as a delegate. |
| 51 static ChromePluginPlaceholder* CreateLoadableMissingPlugin( | 35 static ChromePluginPlaceholder* CreateLoadableMissingPlugin( |
| 52 content::RenderFrame* render_frame, | 36 content::RenderFrame* render_frame, |
| 53 blink::WebLocalFrame* frame, | 37 blink::WebLocalFrame* frame, |
| 54 const blink::WebPluginParams& params); | 38 const blink::WebPluginParams& params); |
| 55 | 39 |
| 56 void SetStatus(ChromeViewHostMsg_GetPluginInfo_Status status); | 40 void SetStatus(ChromeViewHostMsg_GetPluginInfo_Status status); |
| 57 | 41 |
| 58 #if defined(ENABLE_PLUGIN_INSTALLATION) | 42 #if defined(ENABLE_PLUGIN_INSTALLATION) |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 #endif | 97 #endif |
| 114 | 98 |
| 115 bool has_host_; | 99 bool has_host_; |
| 116 int context_menu_request_id_; // Nonzero when request pending. | 100 int context_menu_request_id_; // Nonzero when request pending. |
| 117 base::string16 plugin_name_; | 101 base::string16 plugin_name_; |
| 118 | 102 |
| 119 DISALLOW_COPY_AND_ASSIGN(ChromePluginPlaceholder); | 103 DISALLOW_COPY_AND_ASSIGN(ChromePluginPlaceholder); |
| 120 }; | 104 }; |
| 121 | 105 |
| 122 #endif // CHROME_RENDERER_PLUGINS_CHROME_PLUGIN_PLACEHOLDER_H_ | 106 #endif // CHROME_RENDERER_PLUGINS_CHROME_PLUGIN_PLACEHOLDER_H_ |
| OLD | NEW |