Index: chrome/browser/printing/printing_message_filter.cc |
=================================================================== |
--- chrome/browser/printing/printing_message_filter.cc (revision 98330) |
+++ chrome/browser/printing/printing_message_filter.cc (working copy) |
@@ -4,16 +4,20 @@ |
#include "chrome/browser/printing/printing_message_filter.h" |
+#include <string> |
+ |
#include "base/process_util.h" |
#include "chrome/browser/browser_process.h" |
#include "chrome/browser/printing/printer_query.h" |
#include "chrome/browser/printing/print_job_manager.h" |
+#include "chrome/browser/ui/webui/print_preview_ui.h" |
#include "chrome/common/print_messages.h" |
-#include "content/common/view_messages.h" |
#if defined(OS_CHROMEOS) |
#include <fcntl.h> |
+#include <map> |
+ |
#include "base/file_util.h" |
#include "base/lazy_instance.h" |
#include "chrome/browser/printing/print_dialog_cloud.h" |
@@ -101,6 +105,7 @@ |
IPC_MESSAGE_HANDLER_DELAY_REPLY(PrintHostMsg_ScriptedPrint, OnScriptedPrint) |
IPC_MESSAGE_HANDLER_DELAY_REPLY(PrintHostMsg_UpdatePrintSettings, |
OnUpdatePrintSettings) |
+ IPC_MESSAGE_HANDLER(PrintHostMsg_CheckForCancel, OnCheckForCancel) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
return handled; |
@@ -202,7 +207,7 @@ |
PrintMsg_Print_Params params; |
if (!printer_query.get() || |
printer_query->last_status() != printing::PrintingContext::OK) { |
- memset(¶ms, 0, sizeof(params)); |
+ params.Reset(); |
} else { |
RenderParamsFromPrintSettings(printer_query->settings(), ¶ms); |
params.document_cookie = printer_query->cookie(); |
@@ -254,7 +259,7 @@ |
PrintMsg_PrintPages_Params params; |
if (printer_query->last_status() != printing::PrintingContext::OK || |
!printer_query->settings().dpi()) { |
- memset(¶ms, 0, sizeof(params)); |
+ params.Reset(); |
} else { |
RenderParamsFromPrintSettings(printer_query->settings(), ¶ms.params); |
params.params.document_cookie = printer_query->cookie(); |
@@ -290,7 +295,7 @@ |
IPC::Message* reply_msg) { |
PrintMsg_PrintPages_Params params; |
if (printer_query->last_status() != printing::PrintingContext::OK) { |
- memset(¶ms, 0, sizeof(params)); |
+ params.Reset(); |
} else { |
RenderParamsFromPrintSettings(printer_query->settings(), ¶ms.params); |
params.params.document_cookie = printer_query->cookie(); |
@@ -305,3 +310,11 @@ |
else |
printer_query->StopWorker(); |
} |
+ |
+void PrintingMessageFilter::OnCheckForCancel(const std::string& preview_ui_addr, |
+ int preview_request_id, |
+ bool* cancel) { |
+ PrintPreviewUI::GetCurrentPrintPreviewStatus(preview_ui_addr, |
+ preview_request_id, |
+ cancel); |
+} |