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 b5b47449674a1907a91dc12033c770ee2532d033..d1687d56f3279b28655c40abdfff7e41b3cd036e 100644 |
--- a/chrome/browser/printing/print_preview_message_handler.cc |
+++ b/chrome/browser/printing/print_preview_message_handler.cc |
@@ -209,6 +209,26 @@ void PrintPreviewMessageHandler::OnPrintPreviewCancelled(int document_cookie) { |
StopWorker(document_cookie); |
} |
+void PrintPreviewMessageHandler::OnInvalidPrinterSettings(int document_cookie) { |
Lei Zhang
2011/09/01 04:52:08
You can probably merge some of this code with Prin
|
+ // Always need to stop the worker. |
+ if (document_cookie) { |
+ StopWorker(document_cookie); |
+ } |
+ |
+ TabContentsWrapper* print_preview_tab = GetPrintPreviewTab(); |
+ if (!print_preview_tab || !print_preview_tab->web_ui()) |
+ return; |
+ |
+ if (g_browser_process->background_printing_manager()-> |
+ HasPrintPreviewTab(print_preview_tab)) { |
+ delete print_preview_tab; |
+ } else { |
+ PrintPreviewUI* print_preview_ui = |
+ static_cast<PrintPreviewUI*>(print_preview_tab->web_ui()); |
+ print_preview_ui->OnInvalidPrinterSettings(); |
+ } |
+} |
+ |
bool PrintPreviewMessageHandler::OnMessageReceived( |
const IPC::Message& message) { |
bool handled = true; |
@@ -227,6 +247,8 @@ bool PrintPreviewMessageHandler::OnMessageReceived( |
OnDidGetDefaultPageLayout) |
IPC_MESSAGE_HANDLER(PrintHostMsg_PrintPreviewCancelled, |
OnPrintPreviewCancelled) |
+ IPC_MESSAGE_HANDLER(PrintHostMsg_PrintPreviewInvalidPrinterSettings, |
+ OnInvalidPrinterSettings) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
return handled; |