under headless chrome.
This patch includes:
1) adding a new print manager, i.e., HeadlessPrintManager to handle all the
printing related IPCs for headless.
2) plumbing through the pdf data from HeadlessPrintManager to
HeadlessDevToolsManagerDelegate to handle the PrintToPDF command.
3) adding a new option to PrintWebViewHelper on Mac to return all the printed
pages in the first PrintHostMsg_DidPrintPage message as a single file.
This makes it conform to Linux and Windows, which simplify the logic in
This patch guarantees that HeadlessPrintManager is the only IPC entry point.
In the future, if there are requirements to support the same devtools command
in regular chrome, we may consider a framework to ensure multiple print managers
to work properly under a content embedder.