
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}
//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.