Print Preview: Only persist settings that users have interacted with

New sticky settings behavior:
(1) If settings are set due to printer default or document presets,
don't include them in the sticky settings. Then if a user selects a
new printer without modifying settings, the new printer's defaults
will be applied.

The following describes existing behavior, which is retained after
this CL:
(2) If the user manually sets something using the UI, set the value in
sticky settings, and retain the value when a new printer is selected
if the printer supports it (if not, fall back to the new printer's
defaults).
(3) Sticky settings set in this way will be retained across instances
of Print Preview, regardless of whether the user interacts with the
control in every instance.

Because of (3), this CL will not modify behavior for users that already
have a user data directory with a complete set of sticky settings.
However, the attached bug is for the specific case where the user data
is repeatedly cleared due to a policy/setting; this is why the normal
sticky settings flow, which would restore the printer and unchecked
duplex setting, is not working for this use case.

Bug: 971315
Change-Id: I2a5ffe46eb604a7eb1f4a2ec8ed0584fdad1308f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1657035
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Commit-Queue: Rebekah Potter <rbpotter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#669455}
21 files changed