From 76de16e7c78d65c1a4e4f48968f92f7350c37ebc Mon Sep 17 00:00:00 2001 From: "kmadhusu@chromium.org" Date: Mon, 27 Jun 2011 22:36:21 +0000 Subject: PrintPreview: Fix the regression caused by r90320. Clear |old_print_pages_params_| before creating a print preview tab. BUG=none TEST=Open a webpage. Press Ctrl+P to display a preview tab. Once the preview tab is loaded, close the preview tab. Press Ctrl+P again on Initiator tab. A new preview tab is created and the associated preview data is displayed to the user. Review URL: http://codereview.chromium.org/7273007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90663 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/renderer/print_web_view_helper.cc | 11 ++++++++--- chrome/renderer/print_web_view_helper.h | 2 ++ 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'chrome/renderer') diff --git a/chrome/renderer/print_web_view_helper.cc b/chrome/renderer/print_web_view_helper.cc index e15b78d..408d480 100644 --- a/chrome/renderer/print_web_view_helper.cc +++ b/chrome/renderer/print_web_view_helper.cc @@ -178,7 +178,7 @@ void PrintWebViewHelper::PrintPage(WebKit::WebFrame* frame) { if (is_preview_) { script_initiated_preview_frame_ = frame; context_menu_preview_node_.reset(); - Send(new PrintHostMsg_RequestPrintPreview(routing_id())); + RequestPrintPreview(); } else { Print(frame, NULL); } @@ -299,7 +299,7 @@ void PrintWebViewHelper::OnPrintNodeUnderContextMenu() { if (is_preview_) { context_menu_preview_node_.reset(new WebNode(context_menu_node)); script_initiated_preview_frame_ = NULL; - Send(new PrintHostMsg_RequestPrintPreview(routing_id())); + RequestPrintPreview(); } else { WebNode duplicate_node(context_menu_node); Print(duplicate_node.document().frame(), &duplicate_node); @@ -310,7 +310,7 @@ void PrintWebViewHelper::OnInitiatePrintPreview() { DCHECK(is_preview_); script_initiated_preview_frame_ = NULL; context_menu_preview_node_.reset(); - Send(new PrintHostMsg_RequestPrintPreview(routing_id())); + RequestPrintPreview(); } void PrintWebViewHelper::Print(WebKit::WebFrame* frame, WebKit::WebNode* node) { @@ -799,3 +799,8 @@ void PrintWebViewHelper::DisplayPrintJobError() { web_view->mainFrame(), l10n_util::GetStringUTF16(IDS_PRINT_SPOOL_FAILED_ERROR_TEXT)); } + +void PrintWebViewHelper::RequestPrintPreview() { + old_print_pages_params_.reset(); + Send(new PrintHostMsg_RequestPrintPreview(routing_id())); +} diff --git a/chrome/renderer/print_web_view_helper.h b/chrome/renderer/print_web_view_helper.h index 1ca5670..7c453e1 100644 --- a/chrome/renderer/print_web_view_helper.h +++ b/chrome/renderer/print_web_view_helper.h @@ -259,6 +259,8 @@ class PrintWebViewHelper : public RenderViewObserver , // Displays the print job error message to the user. void DisplayPrintJobError(); + void RequestPrintPreview(); + WebKit::WebView* print_web_view_; // The frame to print for script initiated print preview. -- cgit v1.1