Allow arbitrary scale factors.

As discussed in https://codereview.chromium.org/1070433002/, this CL
allows arbitrary scale factors, which works because chromium uses the
resource most closely matching the scale factor (e.g. 1x for 1.25x,
but 2x for 1.9x) and scales it.

BUG=143619,477716

Review URL: https://codereview.chromium.org/1078423002

Cr-Commit-Position: refs/heads/master@{#326851}
(cherry picked from commit b3ca230ddd7d1238ee96ed26ea23e369f10dd655)

device scale factor detection: use gtk-xft-dpi consistently

Before this CL, we used either gtk-xft-dpi (UI fonts) or the physical DPI of
a more or less random display. This CL consistently uses gtk-xft-dpi which
is the better alternative: users can directly influence it (by changing the
Xft.dpi X resource, or via their gtkrc).

See also https://github.com/derat/font-config-info for displaying your
current system settings.

This is a re-do of https://codereview.chromium.org/1070433002/, but with
https://codereview.chromium.org/1084453002/ applied (fixes content_shell).

BUG=473089, 143619

Review URL: https://codereview.chromium.org/1085603002

Cr-Commit-Position: refs/heads/master@{#324928}
(cherry picked from commit d459a5c49a02507b9ac77ffbbf33dffeb3bc9c34)

R=stapelberg@google.com
TBR=erg, estade, oshima

Review URL: https://codereview.chromium.org/1103383004

Cr-Commit-Position: refs/branch-heads/2357@{#246}
Cr-Branched-From: 59d4494849b405682265ed5d3f5164573b9a939b-refs/heads/master@{#323860}
5 files changed