subpixels: normalize zoom [see non-100% zoom dpi, dppx, dpcm, -moz-device-pixel-ratio]

With RFP, when at 100% zoom (which is what we set each new tab/eTLD) these should always report the same (effectively the zoom level, anything x 1 = itself: tested and they are the same), but when not at 100% zoom, it leaks system scaling entropy

  • for example: at 110% zoom
    • laptop at 175% system scaling
      • 1.0967742204666138, 105.29032000000004 | 1.0967742187500003 | 41.45288500000001
    • desktop at 100% system scaling: at 110% zoom
      • 1.0909091234207153, 104.72728000000004 | 1.0909091406250007 | 41.231210000000004

Note: -webkit-[min/max]-device-pixel-ratio is also protected at 100% zoom, but it seems to round down to 0.25, 0.5, 1, 2, or 4 I don't think this will ever produce entropy. Regardless, fixing the underlying issue would fix this if it did

cc: @pierov @cypherpunks1

Q.E.D .. I knew it... 👿

Edited by Thorin