summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authordominich@chromium.org <dominich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-17 16:17:45 +0000
committerdominich@chromium.org <dominich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-17 16:17:45 +0000
commit4c94b8cd2d717d744473f59e69c1055cc5357321 (patch)
treea8005ce6636340a96e3675e5db8176d350192d83 /chrome/renderer
parenta784ce1c1bb7d274fee0320fb72e24037ebc5978 (diff)
downloadchromium_src-4c94b8cd2d717d744473f59e69c1055cc5357321.zip
chromium_src-4c94b8cd2d717d744473f59e69c1055cc5357321.tar.gz
chromium_src-4c94b8cd2d717d744473f59e69c1055cc5357321.tar.bz2
Cancel prerenders for pages that call window.print()
BUG=82206 TEST=PrerenderBrowserTest.PrerenderPopup Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=85545 Review URL: http://codereview.chromium.org/7015026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85639 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r--chrome/renderer/print_web_view_helper.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/chrome/renderer/print_web_view_helper.cc b/chrome/renderer/print_web_view_helper.cc
index f07ef87..cc3da51 100644
--- a/chrome/renderer/print_web_view_helper.cc
+++ b/chrome/renderer/print_web_view_helper.cc
@@ -12,6 +12,8 @@
#include "base/utf_string_conversions.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/print_messages.h"
+#include "chrome/common/render_messages.h"
+#include "chrome/renderer/prerender/prerender_helper.h"
#include "content/renderer/render_view.h"
#include "grit/generated_resources.h"
#include "printing/metafile.h"
@@ -132,6 +134,12 @@ PrintWebViewHelper::~PrintWebViewHelper() {}
void PrintWebViewHelper::PrintPage(WebKit::WebFrame* frame) {
DCHECK(frame);
+ // Allow Prerendering to cancel this print request if necessary.
+ if (prerender::PrerenderHelper::IsPrerendering(render_view())) {
+ Send(new ViewHostMsg_CancelPrerenderForPrinting(routing_id()));
+ return;
+ }
+
if (IsScriptInitiatedPrintTooFrequent(frame))
return;
IncrementScriptedPrintCount();