| Index: chrome/renderer/print_web_view_helper.cc
|
| diff --git a/chrome/renderer/print_web_view_helper.cc b/chrome/renderer/print_web_view_helper.cc
|
| index f0fc8da7dde081f8b8afa64d30f70b6db8d2d019..7dd9bb8e6a3b5ff5d9302b5c68d02365dc13357b 100644
|
| --- a/chrome/renderer/print_web_view_helper.cc
|
| +++ b/chrome/renderer/print_web_view_helper.cc
|
| @@ -629,8 +629,11 @@ void PrintWebViewHelper::OnPrintPreview(const DictionaryValue& settings) {
|
| print_preview_context_.OnPrintPreview();
|
|
|
| if (!InitPrintSettings(print_preview_context_.frame(),
|
| - print_preview_context_.node())) {
|
| - NOTREACHED();
|
| + print_preview_context_.node(),
|
| + true)) {
|
| + Send(new PrintHostMsg_PrintPreviewInvalidDefaultPrinter(
|
| + routing_id(),
|
| + print_pages_params_->params.document_cookie));
|
| return;
|
| }
|
|
|
| @@ -1009,7 +1012,8 @@ void PrintWebViewHelper::UpdatePrintableSizeInPrintParameters(
|
| }
|
|
|
| bool PrintWebViewHelper::InitPrintSettings(WebKit::WebFrame* frame,
|
| - WebKit::WebNode* node) {
|
| + WebKit::WebNode* node,
|
| + bool is_preview) {
|
| DCHECK(frame);
|
| PrintMsg_PrintPages_Params settings;
|
|
|
| @@ -1019,9 +1023,11 @@ bool PrintWebViewHelper::InitPrintSettings(WebKit::WebFrame* frame,
|
| // can safely assume there are no printer drivers configured. So we safely
|
| // terminate.
|
| if (PrintMsg_Print_Params_IsEmpty(settings.params)) {
|
| - render_view()->runModalAlertDialog(
|
| - frame,
|
| - l10n_util::GetStringUTF16(IDS_DEFAULT_PRINTER_NOT_FOUND_WARNING));
|
| + if (!is_preview) {
|
| + render_view()->runModalAlertDialog(
|
| + frame,
|
| + l10n_util::GetStringUTF16(IDS_DEFAULT_PRINTER_NOT_FOUND_WARNING));
|
| + }
|
| return false;
|
| }
|
| if (settings.params.dpi < kMinDpi || settings.params.document_cookie == 0) {
|
| @@ -1038,7 +1044,7 @@ bool PrintWebViewHelper::InitPrintSettings(WebKit::WebFrame* frame,
|
| bool PrintWebViewHelper::InitPrintSettingsAndPrepareFrame(
|
| WebKit::WebFrame* frame, WebKit::WebNode* node,
|
| scoped_ptr<PrepareFrameAndViewForPrint>* prepare) {
|
| - if (!InitPrintSettings(frame, node))
|
| + if (!InitPrintSettings(frame, node, false))
|
| return false;
|
|
|
| DCHECK(!prepare->get());
|
|
|