| Index: chrome/browser/printing/print_preview_message_handler.cc
|
| ===================================================================
|
| --- chrome/browser/printing/print_preview_message_handler.cc (revision 98330)
|
| +++ chrome/browser/printing/print_preview_message_handler.cc (working copy)
|
| @@ -82,8 +82,10 @@
|
|
|
| void PrintPreviewMessageHandler::OnDidGetPreviewPageCount(
|
| const PrintHostMsg_DidGetPreviewPageCount_Params& params) {
|
| - if (params.page_count <= 0)
|
| + if (params.page_count <= 0) {
|
| + NOTREACHED();
|
| return;
|
| + }
|
| TabContents* print_preview_tab = GetPrintPreviewTab();
|
| if (!print_preview_tab)
|
| return;
|
| @@ -95,26 +97,12 @@
|
|
|
| void PrintPreviewMessageHandler::OnDidPreviewPage(
|
| const PrintHostMsg_DidPreviewPage_Params& params) {
|
| - RenderViewHost* rvh = tab_contents()->render_view_host();
|
| TabContents* print_preview_tab = GetPrintPreviewTab();
|
| - if (!(print_preview_tab && print_preview_tab->web_ui())) {
|
| - // Can't find print preview tab means we should abort.
|
| - rvh->Send(new PrintMsg_AbortPreview(rvh->routing_id()));
|
| + if (!print_preview_tab || !print_preview_tab->web_ui())
|
| return;
|
| - }
|
|
|
| PrintPreviewUI* print_preview_ui =
|
| static_cast<PrintPreviewUI*>(print_preview_tab->web_ui());
|
| - bool has_pending = print_preview_ui->HasPendingRequests();
|
| - if (has_pending) {
|
| - // Cancel. Next print preview request will cancel the current one.
|
| - // Just do the required maintainance work here.
|
| - StopWorker(print_preview_ui->document_cookie());
|
| - print_preview_ui->OnPrintPreviewCancelled();
|
| - return;
|
| - }
|
| -
|
| - int requested_preview_page_index = INVALID_PAGE_INDEX;
|
| int page_number = params.page_number;
|
|
|
| if (page_number == FIRST_PAGE_INDEX)
|
| @@ -127,18 +115,19 @@
|
|
|
| print_preview_ui->SetPrintPreviewDataForIndex(page_number, data_bytes);
|
| print_preview_ui->OnDidPreviewPage(page_number, params.preview_request_id);
|
| - // TODO(kmadhusu): Query |PrintPreviewUI| and update
|
| - // |requested_preview_page_index| accordingly.
|
| }
|
| -
|
| - rvh->Send(new PrintMsg_ContinuePreview(rvh->routing_id(),
|
| - requested_preview_page_index));
|
| }
|
|
|
| void PrintPreviewMessageHandler::OnPagesReadyForPreview(
|
| const PrintHostMsg_DidPreviewDocument_Params& params) {
|
| + // Always try to stop the worker.
|
| StopWorker(params.document_cookie);
|
|
|
| + if (params.expected_pages_count <= 0) {
|
| + NOTREACHED();
|
| + return;
|
| + }
|
| +
|
| // Get the print preview tab.
|
| TabContents* print_preview_tab = GetPrintPreviewTab();
|
| // User might have closed it already.
|
| @@ -205,6 +194,11 @@
|
| }
|
| }
|
|
|
| +void PrintPreviewMessageHandler::OnPrintPreviewCancelled(int document_cookie) {
|
| + // Always need to stop the worker.
|
| + StopWorker(document_cookie);
|
| +}
|
| +
|
| bool PrintPreviewMessageHandler::OnMessageReceived(
|
| const IPC::Message& message) {
|
| bool handled = true;
|
| @@ -219,6 +213,8 @@
|
| OnPagesReadyForPreview)
|
| IPC_MESSAGE_HANDLER(PrintHostMsg_PrintPreviewFailed,
|
| OnPrintPreviewFailed)
|
| + IPC_MESSAGE_HANDLER(PrintHostMsg_PrintPreviewCancelled,
|
| + OnPrintPreviewCancelled)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP()
|
| return handled;
|
|
|