Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4604)

Unified Diff: chrome/renderer/render_view.cc

Issue 5917001: Change the "Disable outdated plug-ins" lab to block them instead. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rename command line switch and viewmsg Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/renderer/render_view.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/render_view.cc
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index ca0c0e5d609666de8a4a6760bf38591f4502b24b..a720758c6edb6976777418e3cf9288a80c938c50 100644
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -2754,16 +2754,19 @@ WebPlugin* RenderView::createPlugin(WebFrame* frame,
NPAPI::PluginList::Singleton()->GetPluginGroup(info);
DCHECK(group != NULL);
- if (!info.enabled) {
- if (cmd->HasSwitch(switches::kDisableOutdatedPlugins) &&
- group->IsVulnerable()) {
- Send(new ViewHostMsg_DisabledOutdatedPlugin(routing_id_,
- group->GetGroupName(),
- GURL(group->GetUpdateURL())));
- return CreateOutdatedPluginPlaceholder(frame, params, *group);
- }
+ if (cmd->HasSwitch(switches::kBlockOutdatedPlugins) &&
+ group->IsVulnerable()) {
+ Send(new ViewHostMsg_BlockedOutdatedPlugin(routing_id_,
+ group->GetGroupName(),
+ GURL(group->GetUpdateURL())));
+ return CreatePluginPlaceholder(frame,
+ params,
+ *group,
+ IDR_OUTDATED_PLUGIN_HTML,
+ IDS_PLUGIN_OUTDATED);
+ }
+ if (!info.enabled)
return NULL;
- }
ContentSetting host_setting =
current_content_settings_.settings[CONTENT_SETTINGS_TYPE_PLUGINS];
@@ -2780,26 +2783,19 @@ WebPlugin* RenderView::createPlugin(WebFrame* frame,
if (cmd->HasSwitch(switches::kEnableResourceContentSettings))
resource = group->identifier();
DidBlockContentType(CONTENT_SETTINGS_TYPE_PLUGINS, resource);
- int resource_id;
- int message_id;
if (plugin_setting == CONTENT_SETTING_ASK) {
- resource_id = IDR_BLOCKED_PLUGIN_HTML;
- message_id = IDS_PLUGIN_LOAD;
+ return CreatePluginPlaceholder(frame,
+ params,
+ *group,
+ IDR_BLOCKED_PLUGIN_HTML,
+ IDS_PLUGIN_LOAD);
} else {
- resource_id = IDR_OUTDATED_PLUGIN_HTML;
- message_id = IDS_PLUGIN_BLOCKED;
+ return CreatePluginPlaceholder(frame,
+ params,
+ *group,
+ IDR_OUTDATED_PLUGIN_HTML,
+ IDS_PLUGIN_BLOCKED);
}
- // |blocked_plugin| will delete itself when the WebViewPlugin
- // is destroyed.
- BlockedPlugin* blocked_plugin =
- new BlockedPlugin(this,
- frame,
- *group,
- params,
- webkit_preferences_,
- resource_id,
- l10n_util::GetStringUTF16(message_id));
- return blocked_plugin->plugin();
}
WebWorker* RenderView::createWorker(WebFrame* frame, WebWorkerClient* client) {
@@ -4431,30 +4427,23 @@ WebPlugin* RenderView::CreateNPAPIPlugin(WebFrame* frame,
frame, params, path, mime_type, AsWeakPtr());
}
-WebPlugin* RenderView::CreateOutdatedPluginPlaceholder(
+WebPlugin* RenderView::CreatePluginPlaceholder(
WebFrame* frame,
const WebPluginParams& params,
- const PluginGroup& group) {
- int resource_id = IDR_OUTDATED_PLUGIN_HTML;
- const base::StringPiece template_html(
- ResourceBundle::GetSharedInstance().GetRawDataResource(resource_id));
-
- DCHECK(!template_html.empty()) << "unable to load template. ID: "
- << resource_id;
-
- DictionaryValue values;
- values.SetString("message",
- l10n_util::GetStringFUTF8(IDS_PLUGIN_OUTDATED, group.GetGroupName()));
- values.Set("pluginGroup", group.GetDataForUI());
-
- // "t" is the id of the templates root node.
- std::string htmlData = jstemplate_builder::GetTemplatesHtml(
- template_html, &values, "t");
-
- return WebViewPlugin::Create(NULL,
- webkit_preferences_,
- htmlData,
- GURL("chrome://outdatedplugin/"));
+ const PluginGroup& group,
+ int resource_id,
+ int message_id) {
+ // |blocked_plugin| will delete itself when the WebViewPlugin
+ // is destroyed.
+ BlockedPlugin* blocked_plugin =
+ new BlockedPlugin(this,
+ frame,
+ group,
+ params,
+ webkit_preferences_,
+ resource_id,
+ l10n_util::GetStringUTF16(message_id));
+ return blocked_plugin->plugin();
}
void RenderView::OnZoom(PageZoom::Function function) {
« no previous file with comments | « chrome/renderer/render_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698