| Index: chrome/browser/printing/print_preview_message_handler.cc
|
| diff --git a/chrome/browser/printing/print_preview_message_handler.cc b/chrome/browser/printing/print_preview_message_handler.cc
|
| index d293d6f1d6e2829f2f43e1e7e3964fb66a627179..8244c9f04320e6a71e63a53eb987203bd8a4371a 100644
|
| --- a/chrome/browser/printing/print_preview_message_handler.cc
|
| +++ b/chrome/browser/printing/print_preview_message_handler.cc
|
| @@ -114,7 +114,19 @@ void PrintPreviewMessageHandler::OnPrintPreviewFailed(int document_cookie) {
|
| // User might have closed it already.
|
| if (!print_preview_tab)
|
| return;
|
| - print_preview_tab->web_ui()->CallJavascriptFunction("printPreviewFailed");
|
| +
|
| + PrintPreviewUI* print_preview_ui =
|
| + static_cast<PrintPreviewUI*>(print_preview_tab->web_ui());
|
| +
|
| + if (print_preview_ui->isHidden()) {
|
| + // Preview tab was hidden to serve the print request.
|
| + RenderViewHost* rvh = tab_contents()->render_view_host();
|
| + rvh->Send(new PrintMsg_PrintingDone(rvh->routing_id(), false));
|
| + delete print_preview_tab;
|
| + return;
|
| + } else {
|
| + print_preview_ui->CallJavascriptFunction("printPreviewFailed");
|
| + }
|
| }
|
|
|
| bool PrintPreviewMessageHandler::OnMessageReceived(
|
|
|