0
Files
src/printing
Bryan Cain fef8037fe5 Reland "Migrate from IPP media/media-supported to media-col/media-col-database"
This is a reland of commit 7635617eba

Fixes a few printing UI tests that were failing on Mac.

Original change's description:
> Migrate from IPP media/media-supported to media-col/media-col-database
>
> Effects of getting the supported paper sizes from CUPS using
> media-col-database instead of media-supported:
> * We get paper sizes as actual dimensions in PWG units instead of having
>   to parse them from strings.
> * The vendor ID for each paper size is now determined from its
>   dimensions instead of the other way around.
> * Paper display names are now based solely on dimensions, so we can end
>   the long game of whack-a-mole trying to get non-standard and duplicate
>   paper sizes to display and sort properly.
> * When de-duplicating sizes with borderless variants, we now determine
>   whether a size is borderless using its actual margins instead of
>   vendor ID heuristics.
> * Dimensions are now formatted properly for the current locale when
>   generating display names for unregistered sizes.
> * The algorithm used to determine whether an unregistered size is inches
>   or millimeters is better than the one used in CUPS, accounting for
>   eighths and tenths of an inch. For example, the size that used to
>   display as "200.03 x 148.17 mm" is now properly rendered as
>   "7.875 x 5.833 in".
>
> Effects of sending the paper size for a print job using media-col
> instead of media:
> * We now send the "media-source" (input tray) as part of media-col, in
>   accordance with IPP standards. Before, we had to use the standalone
>   "media-source" attribute, which was a non-standard extension
>   implemented in the ChromeOS fork of CUPS.
> * Sending media-col opens the way for work to begin in earnest on media
>   type support and borderless printing.
> * We no longer use libcups' janky cupsDestMedia* functions for anything.
>
> Bug: b:199547118
> Test: do print jobs and verify the size, source, and margins are correct
> Test: check the paper size list in the UI for various printers
> Change-Id: I9030283ae22d1f71b20f0237e664af4943fc58c4
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4257505
> Reviewed-by: Lei Zhang <thestig@chromium.org>
> Commit-Queue: Bryan Cain <bryancain@chromium.org>
> Reviewed-by: Benjamin Gordon <bmgordon@chromium.org>
> Code-Coverage: Findit <findit-for-me@appspot.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/main@{#1135611}

Bug: b:199547118
Change-Id: I505e3b82a560b0128c4526acd5ae6c039ee3ab58
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4517541
Reviewed-by: Benjamin Gordon <bmgordon@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Bryan Cain <bryancain@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1144269}
2023-05-15 18:52:31 +00:00
..
2023-02-16 18:53:20 +00:00
2023-04-26 15:09:18 +00:00

//printing contains foundational code that is used for printing. It can depend on other low-level directories like //cc/paint and //ui, but not higher level code like //components or //content. Higher level printing code should live in //components/printing or the embedder.