diff options
author | dominich@chromium.org <dominich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-17 16:17:45 +0000 |
---|---|---|
committer | dominich@chromium.org <dominich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-17 16:17:45 +0000 |
commit | 4c94b8cd2d717d744473f59e69c1055cc5357321 (patch) | |
tree | a8005ce6636340a96e3675e5db8176d350192d83 /chrome/renderer | |
parent | a784ce1c1bb7d274fee0320fb72e24037ebc5978 (diff) | |
download | chromium_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.cc | 8 |
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(); |