Index: chrome/renderer/render_view.cc |
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc |
index a1147ddb45f58569e7deaecc7c2dbe3a31d32790..817437cfeabcfad91c531f340f1e88b505543b54 100644 |
--- a/chrome/renderer/render_view.cc |
+++ b/chrome/renderer/render_view.cc |
@@ -2196,10 +2196,13 @@ WebPlugin* RenderView::createPlugin(WebFrame* frame, |
if (path.value().empty()) |
return NULL; |
- if (!AllowContentType(CONTENT_SETTINGS_TYPE_PLUGINS) && |
- path.value() != kDefaultPluginLibraryName) { |
- didNotAllowPlugins(frame); |
- return CreatePluginPlaceholder(frame, params); |
+ if (CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableClickToPlay)) { |
+ if (!AllowContentType(CONTENT_SETTINGS_TYPE_PLUGINS) && |
+ path.value() != kDefaultPluginLibraryName) { |
+ didNotAllowPlugins(frame); |
+ return CreatePluginPlaceholder(frame, params); |
+ } |
} |
return CreatePluginInternal(frame, params, actual_mime_type, path); |
} |
@@ -2331,6 +2334,16 @@ bool RenderView::allowImages(WebFrame* frame, bool enabled_per_settings) { |
return false; // Other protocols fall through here. |
} |
+bool RenderView::allowPlugins(WebFrame* frame, bool enabled_per_settings) { |
+ if (CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableClickToPlay)) { |
+ return WebFrameClient::allowPlugins(frame, enabled_per_settings); |
+ } |
+ return (enabled_per_settings && |
+ AllowContentType(CONTENT_SETTINGS_TYPE_PLUGINS)); |
+} |
+ |
+ |
void RenderView::loadURLExternally( |
WebFrame* frame, const WebURLRequest& request, |
WebNavigationPolicy policy) { |