diff options
author | thestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-20 00:22:18 +0000 |
---|---|---|
committer | thestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-20 00:22:18 +0000 |
commit | 1c7dbf5de3ac41267120b1108fdaf70da61c1d50 (patch) | |
tree | 0b47d25e5ed7dbc15d12b5ca5dbd2fb21de2135b | |
parent | ed5d53af280ce9b7a1412a38d0b2f96e8433e4d2 (diff) | |
download | chromium_src-1c7dbf5de3ac41267120b1108fdaf70da61c1d50.zip chromium_src-1c7dbf5de3ac41267120b1108fdaf70da61c1d50.tar.gz chromium_src-1c7dbf5de3ac41267120b1108fdaf70da61c1d50.tar.bz2 |
Printing: Remove invalid NOTREACHED for the case where user cancels printing.
BUG=none
TEST=bring up the print dialog and then cancel does not crash the renderer in debug mode.
Review URL: http://codereview.chromium.org/5231002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66853 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/renderer/print_web_view_helper.cc | 30 | ||||
-rw-r--r-- | chrome/renderer/print_web_view_helper.h | 3 |
2 files changed, 15 insertions, 18 deletions
diff --git a/chrome/renderer/print_web_view_helper.cc b/chrome/renderer/print_web_view_helper.cc index 3dcc1b9..6d8e2fd 100644 --- a/chrome/renderer/print_web_view_helper.cc +++ b/chrome/renderer/print_web_view_helper.cc @@ -122,7 +122,7 @@ void PrintWebViewHelper::Print(WebFrame* frame, // Initialize print settings. if (!InitPrintSettings(frame)) - return; // Failed to init print page settings. + return; // Failed to init print page settings. int expected_pages_count = 0; bool use_browser_overlays = true; @@ -141,13 +141,15 @@ void PrintWebViewHelper::Print(WebFrame* frame, if (expected_pages_count) { if (!is_preview_) { // Ask the browser to show UI to retrieve the final print settings. - if (!GetPrintSettingsFromUser( - frame, expected_pages_count, use_browser_overlays)) + if (!GetPrintSettingsFromUser(frame, expected_pages_count, + use_browser_overlays)) { print_cancelled = true; + } } // Render Pages for printing. - if (!print_cancelled && RenderPagesForPrint(frame)) { + if (!print_cancelled) { + RenderPagesForPrint(frame); // Reset cancel counter on first successful print. user_cancelled_scripted_print_count_ = 0; return; // All went well. @@ -432,21 +434,15 @@ bool PrintWebViewHelper::GetPrintSettingsFromUser(WebFrame* frame, NOTREACHED(); return false; } - return true; + return (print_settings.params.dpi && print_settings.params.document_cookie); } -bool PrintWebViewHelper::RenderPagesForPrint(WebFrame *frame) { +void PrintWebViewHelper::RenderPagesForPrint(WebFrame *frame) { ViewMsg_PrintPages_Params print_settings = *print_pages_params_; - // If the settings are invalid, early quit. - if (print_settings.params.dpi && print_settings.params.document_cookie) { - if (print_settings.params.selection_only) { - CopyAndPrint(frame); - } else { - // TODO: Always copy before printing. - PrintPages(print_settings, frame); - } - return true; + if (print_settings.params.selection_only) { + CopyAndPrint(frame); + } else { + // TODO: Always copy before printing. + PrintPages(print_settings, frame); } - NOTREACHED(); - return false; } diff --git a/chrome/renderer/print_web_view_helper.h b/chrome/renderer/print_web_view_helper.h index 55c006b..5fee3b9 100644 --- a/chrome/renderer/print_web_view_helper.h +++ b/chrome/renderer/print_web_view_helper.h @@ -139,12 +139,13 @@ class PrintWebViewHelper : public WebKit::WebViewClient, ViewMsg_Print_Params* params); // Get final print settings from the user. + // Return false if the user cancels or on error. bool GetPrintSettingsFromUser(WebKit::WebFrame* frame, int expected_pages_count, bool use_browser_overlays); // Render the frame for printing. - bool RenderPagesForPrint(WebKit::WebFrame* frame); + void RenderPagesForPrint(WebKit::WebFrame* frame); RenderView* render_view_; WebKit::WebView* print_web_view_; |