Chromium Code Reviews| Index: headless/lib/browser/headless_print_manager.cc |
| diff --git a/headless/lib/browser/headless_print_manager.cc b/headless/lib/browser/headless_print_manager.cc |
| index 036c7471fcdc7cee8c35a46ad69b0121eb12c853..6e6efe40b460da151e579fe300cc2efc8e198f1c 100644 |
| --- a/headless/lib/browser/headless_print_manager.cc |
| +++ b/headless/lib/browser/headless_print_manager.cc |
| @@ -173,6 +173,25 @@ HeadlessPrintManager::GetPrintParamsFromSettings( |
| bool HeadlessPrintManager::OnMessageReceived( |
| const IPC::Message& message, |
| content::RenderFrameHost* render_frame_host) { |
| + if (!printing_rfh_ && |
| + (message.type() == PrintHostMsg_GetDefaultPrintSettings::ID || |
| + message.type() == PrintHostMsg_ScriptedPrint::ID)) { |
|
jzfeng
2017/05/19 01:01:08
nit: check for PrintHostMsg_DidPrintPage here?
Or
|
| + std::string type; |
| + switch (message.type()) { |
| + case PrintHostMsg_GetDefaultPrintSettings::ID: |
| + type = "GetDefaultPrintSettings"; |
| + break; |
| + case PrintHostMsg_ScriptedPrint::ID: |
| + type = "ScriptedPrint"; |
| + break; |
|
Sami
2017/05/19 13:10:01
Please add a default case too.
|
| + } |
| + DLOG(ERROR) |
| + << "Unexpected message received before GetPDFContents is called: " |
| + << type; |
| + render_frame_host->Send(new IPC::Message()); |
|
Sami
2017/05/19 13:10:01
Does this end up dropping the print request on the
|
| + return true; |
| + } |
| + |
| bool handled = true; |
| IPC_BEGIN_MESSAGE_MAP(HeadlessPrintManager, message) |
| IPC_MESSAGE_HANDLER(PrintHostMsg_ShowInvalidPrinterSettingsError, |
| @@ -233,12 +252,6 @@ void HeadlessPrintManager::OnDidGetPrintedPagesCount(int cookie, |
| void HeadlessPrintManager::OnDidPrintPage( |
| const PrintHostMsg_DidPrintPage_Params& params) { |
| - if (!callback_) { |
| - DLOG(ERROR) |
| - << "Unexpected PrintHostMsg_DidPrintPage message from the renderer"; |
| - return; |
| - } |
| - |
| const bool metafile_must_be_valid = expecting_first_page_; |
| expecting_first_page_ = false; |