0
Go to file
Alan Screen 46d031eb2b Drop extra PrintingContext calls to NewPage/PageDone
When system calls were refactored out of PrintedDocument in
https://crrev.com/948253, there were extra calls to PrintingContext
NewPage() and PageDone() left in PrintedDocument::RenderPrintedDocument.
These had no effect on Windows or Linux, but caused an issue for macOS.

This was undetected by tests which use TestPrintingContext, and would
only be detectable if a test was capable of using system drivers (which
generally does not occur on the bots).  Adding a test to detect this is
difficult at this time, but should be easier to do once later portions
of the out-of-process print drivers commit chains fill in more testing
capabilities.  At that point it should be easier to fire off a request
to have the macOS Preview be the output. https://crbug.com/1284745
has been filed to capture this needed effort.

Remove NewPage()/PageDone() as common methods to override from
PrintingContext and make these specific to macOS only.  Update the
various implementations of PrintingContext::PrintDocument() to include
the aborted and in-print-job checks that were previously in all
NewPage() implementations.  The same corresponding checks from
PageDone() can be handled by PrintedDocument::RenderPrintedDocument()
and PrintedDocumentWin::RenderPrintedPage().  There is no concern about
`in_print_job_` having changed during the lifetime of
RenderPrintedDocument()/RenderPrintedPage(), so just add extra checks
against printing having been asynchronouly aborted before allowing a
final successful return.

Bug: 1283651
Change-Id: I52992bc7550dd25d4ad9a1dc633c7d9452a27bb1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3367333
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Alan Screen <awscreen@chromium.org>
Cr-Commit-Position: refs/heads/main@{#955936}
2022-01-05 23:15:29 +00:00
2022-01-05 21:47:57 +00:00
2022-01-05 21:48:13 +00:00
2022-01-05 19:24:55 +00:00
2022-01-05 22:47:24 +00:00
2022-01-05 22:11:58 +00:00
2021-12-09 02:13:50 +00:00
2021-12-14 02:49:11 +00:00
2022-01-05 22:47:24 +00:00
2022-01-05 05:19:44 +00:00
2022-01-05 17:13:35 +00:00
2022-01-04 18:11:15 +00:00

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure .

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.

If you found a bug, please file it at https://crbug.com/new.

Description
Chromium是一个开源浏览器项目,提供了一种安全、快速、稳定的方法来体验Web。该浏览器可以在多个平台上下载,包括Mac、Windows、Linux和ChromiumOS。项目原始地址: https://chromium.googlesource.com/chromium/src.git
https://www.mobibrw.com/gitea-mirrors/chromium/src.git
Readme BSD-3-Clause 89 GiB
Languages
C++ 74.4%
Java 8.2%
Objective-C++ 4.6%
TypeScript 4%
Python 2.5%
Other 6.1%