Index: chrome/renderer/chrome_content_renderer_client.cc |
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc |
index 73c5543c047ebc0392798f9cd413090a7826e80e..d238d28761ca81c6d7af2a45a7efb90e52383361 100644 |
--- a/chrome/renderer/chrome_content_renderer_client.cc |
+++ b/chrome/renderer/chrome_content_renderer_client.cc |
@@ -28,7 +28,6 @@ |
#include "chrome/renderer/autofill/password_autofill_manager.h" |
#include "chrome/renderer/automation/automation_renderer_helper.h" |
#include "chrome/renderer/benchmarking_extension.h" |
-#include "chrome/renderer/blocked_plugin.h" |
#include "chrome/renderer/chrome_ppapi_interfaces.h" |
#include "chrome/renderer/chrome_render_process_observer.h" |
#include "chrome/renderer/chrome_render_view_observer.h" |
@@ -46,7 +45,9 @@ |
#include "chrome/renderer/net/renderer_net_predictor.h" |
#include "chrome/renderer/page_click_tracker.h" |
#include "chrome/renderer/page_load_histograms.h" |
-#include "chrome/renderer/plugin_uma.h" |
+#include "chrome/renderer/plugins/blocked_plugin.h" |
+#include "chrome/renderer/plugins/missing_plugin.h" |
+#include "chrome/renderer/plugins/plugin_uma.h" |
#include "chrome/renderer/prerender/prerender_helper.h" |
#include "chrome/renderer/print_web_view_helper.h" |
#include "chrome/renderer/renderer_histogram_snapshots.h" |
@@ -290,9 +291,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( |
if (status.value == ChromeViewHostMsg_GetPluginInfo_Status::kNotFound) { |
MissingPluginReporter::GetInstance()->ReportPluginMissing( |
orig_mime_type, url); |
- return CreatePluginPlaceholder( |
- render_view, frame, plugin, original_params, NULL, |
- IDR_BLOCKED_PLUGIN_HTML, IDS_PLUGIN_NOT_FOUND, false, false); |
+ return MissingPlugin::Create(render_view, frame, original_params); |
} |
if (plugin.path.value() == webkit::npapi::kDefaultPluginLibraryName) { |
MissingPluginReporter::GetInstance()->ReportPluginMissing( |
@@ -303,8 +302,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( |
webkit::npapi::PluginList::Singleton()->GetPluginGroup(plugin)); |
if (status.value == ChromeViewHostMsg_GetPluginInfo_Status::kDisabled) { |
- return CreatePluginPlaceholder( |
- render_view, frame, plugin, original_params, group.get(), |
+ return BlockedPlugin::Create( |
+ render_view, frame, original_params, plugin, group.get(), |
IDR_DISABLED_PLUGIN_HTML, IDS_PLUGIN_DISABLED, false, false); |
} |
@@ -326,14 +325,14 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( |
GURL(group->GetUpdateURL()))); |
} |
if (status.value == |
- ChromeViewHostMsg_GetPluginInfo_Status::kOutdatedBlocked || |
+ ChromeViewHostMsg_GetPluginInfo_Status::kOutdatedBlocked || |
status.value == |
ChromeViewHostMsg_GetPluginInfo_Status::kOutdatedDisallowed) { |
- return CreatePluginPlaceholder( |
- render_view, frame, plugin, params, group.get(), |
+ return BlockedPlugin::Create( |
+ render_view, frame, params, plugin, group.get(), |
IDR_BLOCKED_PLUGIN_HTML, IDS_PLUGIN_OUTDATED, false, |
status.value == |
- ChromeViewHostMsg_GetPluginInfo_Status::kOutdatedBlocked); |
+ ChromeViewHostMsg_GetPluginInfo_Status::kOutdatedBlocked); |
} |
ContentSettingsObserver* observer = ContentSettingsObserver::Get(render_view); |
@@ -343,8 +342,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( |
!observer->plugins_temporarily_allowed()) { |
render_view->Send(new ChromeViewHostMsg_BlockedOutdatedPlugin( |
render_view->GetRoutingId(), group->GetGroupName(), GURL())); |
- return CreatePluginPlaceholder( |
- render_view, frame, plugin, params, group.get(), |
+ return BlockedPlugin::Create( |
+ render_view, frame, params, plugin, group.get(), |
IDR_BLOCKED_PLUGIN_HTML, IDS_PLUGIN_NOT_AUTHORIZED, false, true); |
} |
@@ -355,8 +354,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( |
plugin.path.value() == webkit::npapi::kDefaultPluginLibraryName) { |
// Delay loading plugins if prerendering. |
if (prerender::PrerenderHelper::IsPrerendering(render_view)) { |
- return CreatePluginPlaceholder( |
- render_view, frame, plugin, params, group.get(), |
+ return BlockedPlugin::Create( |
+ render_view, frame, params, plugin, group.get(), |
IDR_CLICK_TO_PLAY_PLUGIN_HTML, IDS_PLUGIN_LOAD, true, true); |
} |
@@ -381,8 +380,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( |
is_nacl_mime_type, |
is_nacl_enabled, |
params)) { |
- return CreatePluginPlaceholder( |
- render_view, frame, plugin, params, group.get(), |
+ return BlockedPlugin::Create( |
+ render_view, frame, params, plugin, group.get(), |
IDR_BLOCKED_PLUGIN_HTML, IDS_PLUGIN_BLOCKED, false, false); |
} |
} |
@@ -396,14 +395,14 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( |
group->identifier()); |
if (status.value == ChromeViewHostMsg_GetPluginInfo_Status::kClickToPlay) { |
RenderThread::Get()->RecordUserMetrics("Plugin_ClickToPlay"); |
- return CreatePluginPlaceholder( |
- render_view, frame, plugin, params, group.get(), |
+ return BlockedPlugin::Create( |
+ render_view, frame, params, plugin, group.get(), |
IDR_CLICK_TO_PLAY_PLUGIN_HTML, IDS_PLUGIN_LOAD, false, true); |
} else { |
DCHECK(status.value == ChromeViewHostMsg_GetPluginInfo_Status::kBlocked); |
RenderThread::Get()->RecordUserMetrics("Plugin_Blocked"); |
- return CreatePluginPlaceholder( |
- render_view, frame, plugin, params, group.get(), |
+ return BlockedPlugin::Create( |
+ render_view, frame, params, plugin, group.get(), |
IDR_BLOCKED_PLUGIN_HTML, IDS_PLUGIN_BLOCKED, false, true); |
} |
} |
@@ -489,41 +488,6 @@ bool ChromeContentRendererClient::IsNaClAllowed( |
return true; |
} |
-WebPlugin* ChromeContentRendererClient::CreatePluginPlaceholder( |
- content::RenderView* render_view, |
- WebFrame* frame, |
- const webkit::WebPluginInfo& plugin, |
- const WebPluginParams& params, |
- const webkit::npapi::PluginGroup* group, |
- int resource_id, |
- int message_id, |
- bool is_blocked_for_prerendering, |
- bool allow_loading) { |
- // |blocked_plugin| will delete itself when the WebViewPlugin |
- // is destroyed. |
- string16 name; |
- string16 message; |
- if (group) { |
- name = group->GetGroupName(); |
- message = l10n_util::GetStringFUTF16(message_id, name); |
- } else { |
- message = l10n_util::GetStringUTF16(message_id); |
- } |
- |
- BlockedPlugin* blocked_plugin = |
- new BlockedPlugin(render_view, |
- frame, |
- plugin, |
- params, |
- render_view->GetWebkitPreferences(), |
- resource_id, |
- name, |
- message, |
- is_blocked_for_prerendering, |
- allow_loading); |
- return blocked_plugin->plugin(); |
-} |
- |
bool ChromeContentRendererClient::HasErrorPage(int http_status_code, |
std::string* error_domain) { |
// Use an internal error page, if we have one for the status code. |