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)); |
Lei Zhang
2011/06/09 09:54:55
Why do you need this? If we failed to generate a p
kmadhusu
2011/06/09 18:11:44
I am sending this message for 2 reasons.
(1) To di
|
+ delete print_preview_tab; |
+ return; |
+ } else { |
+ print_preview_ui->CallJavascriptFunction("printPreviewFailed"); |
+ } |
} |
bool PrintPreviewMessageHandler::OnMessageReceived( |