| 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) {
|
|
|