summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/blocked_plugin.cc
diff options
context:
space:
mode:
authormmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-30 00:41:44 +0000
committermmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-30 00:41:44 +0000
commit16e923d415597f97b567c5d3870ad4d489c3e31b (patch)
tree4daa203932464fb01cf4bdb116d6fd596eacdd96 /chrome/renderer/blocked_plugin.cc
parentbcf09fc7ff33c6bd4058f515baa5ab3133f355ec (diff)
downloadchromium_src-16e923d415597f97b567c5d3870ad4d489c3e31b.zip
chromium_src-16e923d415597f97b567c5d3870ad4d489c3e31b.tar.gz
chromium_src-16e923d415597f97b567c5d3870ad4d489c3e31b.tar.bz2
Remove most prerendering code/references from content.
The only place where prerendering code remains in content is in ResourceDispatcherHost. As NavigationState can no longer be used to track prerendering histogram information, the prerendering renderer-side histograms have been reworked (And renamed) as well. The histogram intended to track use of prerendering RenderViews has been removed, as histograms are not recorded when a RenderView is destroyed. BUG=77090 TEST=Compiles, existing PrerenderBrowserTests, grep Review URL: http://codereview.chromium.org/6900026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83642 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/blocked_plugin.cc')
-rw-r--r--chrome/renderer/blocked_plugin.cc22
1 files changed, 17 insertions, 5 deletions
diff --git a/chrome/renderer/blocked_plugin.cc b/chrome/renderer/blocked_plugin.cc
index 6917f21..a1a1897 100644
--- a/chrome/renderer/blocked_plugin.cc
+++ b/chrome/renderer/blocked_plugin.cc
@@ -150,11 +150,11 @@ bool BlockedPlugin::OnMessageReceived(const IPC::Message& message) {
gLastActiveMenu == this) {
ViewMsg_CustomContextMenuAction::Dispatch(
&message, this, this, &BlockedPlugin::OnMenuItemSelected);
- } else if (message.type() == ViewMsg_LoadBlockedPlugins::ID) {
- LoadPlugin();
- } else if (message.type() == ViewMsg_DisplayPrerenderedPage::ID) {
- if (is_blocked_for_prerendering_)
- LoadPlugin();
+ } else {
+ IPC_BEGIN_MESSAGE_MAP(BlockedPlugin, message)
+ IPC_MESSAGE_HANDLER(ViewMsg_LoadBlockedPlugins, OnLoadBlockedPlugins)
+ IPC_MESSAGE_HANDLER(ViewMsg_SetIsPrerendering, OnSetIsPrerendering)
+ IPC_END_MESSAGE_MAP()
}
return false;
@@ -170,6 +170,18 @@ void BlockedPlugin::OnMenuItemSelected(
}
}
+void BlockedPlugin::OnLoadBlockedPlugins() {
+ LoadPlugin();
+}
+
+void BlockedPlugin::OnSetIsPrerendering(bool is_prerendering) {
+ // Prerendering can only be enabled prior to a RenderView's first navigation,
+ // so no BlockedPlugin should see the notification that enables prerendering.
+ DCHECK(!is_prerendering);
+ if (!is_prerendering)
+ LoadPlugin();
+}
+
void BlockedPlugin::LoadPlugin() {
CHECK(plugin_);
// This is not strictly necessary but is an important defense in case the