New issue
Advanced search Search tips

Issue 778446 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

Bring Mac printing workflow in line with other platforms

Project Member Reported by thestig@chromium.org, Oct 25 2017

Issue description

In the beginning, Windows Chrome generated 1 EMF per page when printing.

So Chrome was ported to Mac, it generated 1 PDF per page. When porting to Linux, I could not figure out how to make that work, so Linux generated a single PDF with all pages.

Later on, Windows changed to follow the Linux model, generating 1 PDF with all pages. That leaves Mac as the inconsistent platform, but only for historical reasons.

Mac should be changed to generate a single PDF with all pages when printing. This will simplify printing in a bunch of places, where they currently have to have special code to handle the Mac case.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6213e591e61e742396f2ebe79a3c09bcab62c433

commit 6213e591e61e742396f2ebe79a3c09bcab62c433
Author: Lei Zhang <thestig@chromium.org>
Date: Mon Nov 20 21:12:17 2017

Bring Mac printing workflow in line with other platforms.

Generate a single PDF for N pages, instead of N single page PDFs. This
unifies the printing code in several places, and opens up opportunities
for further simplication of the printing code.

BUG= 778446 

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I75d99f0ed78dae8256227e9445078d289e29b01b
Reviewed-on: https://chromium-review.googlesource.com/770492
Reviewed-by: Wei Li <weili@chromium.org>
Reviewed-by: Jianzhou Feng <jzfeng@chromium.org>
Reviewed-by: Rebekah Potter <rbpotter@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517928}
[modify] https://crrev.com/6213e591e61e742396f2ebe79a3c09bcab62c433/cc/paint/BUILD.gn
[delete] https://crrev.com/8eb99b4ebb0e2836e856746a5829fe5cec2d50d5/cc/paint/paint_canvas.cc
[modify] https://crrev.com/6213e591e61e742396f2ebe79a3c09bcab62c433/cc/paint/paint_canvas.h
[modify] https://crrev.com/6213e591e61e742396f2ebe79a3c09bcab62c433/chrome/browser/printing/print_view_manager_base.cc
[modify] https://crrev.com/6213e591e61e742396f2ebe79a3c09bcab62c433/chrome/browser/printing/print_view_manager_base.h
[modify] https://crrev.com/6213e591e61e742396f2ebe79a3c09bcab62c433/components/printing/renderer/print_render_frame_helper.cc
[modify] https://crrev.com/6213e591e61e742396f2ebe79a3c09bcab62c433/components/printing/renderer/print_render_frame_helper.h
[modify] https://crrev.com/6213e591e61e742396f2ebe79a3c09bcab62c433/components/printing/renderer/print_render_frame_helper_mac.mm
[modify] https://crrev.com/6213e591e61e742396f2ebe79a3c09bcab62c433/components/printing/renderer/print_render_frame_helper_pdf_win.cc
[modify] https://crrev.com/6213e591e61e742396f2ebe79a3c09bcab62c433/content/renderer/pepper/pepper_plugin_instance_impl.cc
[modify] https://crrev.com/6213e591e61e742396f2ebe79a3c09bcab62c433/content/renderer/pepper/pepper_plugin_instance_impl.h
[modify] https://crrev.com/6213e591e61e742396f2ebe79a3c09bcab62c433/headless/lib/renderer/headless_print_render_frame_helper_delegate.cc
[modify] https://crrev.com/6213e591e61e742396f2ebe79a3c09bcab62c433/headless/lib/renderer/headless_print_render_frame_helper_delegate.h
[modify] https://crrev.com/6213e591e61e742396f2ebe79a3c09bcab62c433/printing/printed_document.cc
[modify] https://crrev.com/6213e591e61e742396f2ebe79a3c09bcab62c433/printing/printed_document.h
[modify] https://crrev.com/6213e591e61e742396f2ebe79a3c09bcab62c433/printing/printed_document_mac.cc

Status: Fixed (was: Assigned)
The main piece is done, so closing. There are more minor things to clean up after this CL, but hopefully this will make upcoming printing CLs simpler.

Sign in to add a comment