diff options
Diffstat (limited to 'chrome/browser/printing/print_view_manager.cc')
-rw-r--r-- | chrome/browser/printing/print_view_manager.cc | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/chrome/browser/printing/print_view_manager.cc b/chrome/browser/printing/print_view_manager.cc index 436742a..6813a15 100644 --- a/chrome/browser/printing/print_view_manager.cc +++ b/chrome/browser/printing/print_view_manager.cc @@ -254,8 +254,14 @@ void PrintViewManager::OnNotifyPrintJobInitEvent( owner_.render_view_host()->IsRenderViewLive() && (!old_print_params.Equals(print_params_) || !event_details.document()->page_count())) { - // TODO(maruel): Will never happen, this code is about to be deleted. - NOTREACHED(); + // This will generate a DidGetPrintedPagesCount() callback. + if (!owner_.render_view_host()->GetPrintedPagesCount(print_params_)) { + NOTREACHED(); + if (inside_inner_message_loop_) { + MessageLoop::current()->Quit(); + return; + } + } } // Continue even if owner_.render_view_host() is dead because we may already @@ -471,8 +477,10 @@ void PrintViewManager::PrintNowInternal() { if (!print_job_->document() || !print_job_->document()->IsComplete()) { - // TODO(maruel): Will never happen. This code is about to be deleted. - NOTREACHED(); + ViewMsg_PrintPages_Params params; + params.params = print_params_; + params.pages = PageRange::GetPages(print_job_->settings().ranges); + owner_.render_view_host()->PrintPages(params); } } |