Re: [visualViewport]: Proposal and RFC

07.09.2016, 17:27, "Yash Malik" <ymalik@google.com>:
>> 2. contains zoom relative to that already reflected in `window.devicePixelRatio`, so the total physical-pixels-per-logical-pixel ratio can be calculated as the _product_ of `window.visualViewport.scale` times `window.devicePixelRatio`?
>
> By physical-pixels-per-logical-pixel, do you mean physical-pixels-per-css-pixels? If so, then almost*. `window.visualViewport.scale` times  `window.devicePixelRatio` doesn't take the browser zoom into account.

Physical-pixels-per-css-pixel ratio is exactly what `window.devicePixelRatio` is about, and it _does_ account for browser-level zoom at least in Firefox.

What I'm interested in is determining _total_ zoom that includes _both_ `window.devicePixelRatio` and pinch zoom, so that it's possible to determine exact image (<img>) size in _physical_ pixels. Currently, I'm using the following formula for this purpose in Firefox for Android:

    (image.width / image.naturalWidth) * window.devicePixelRatio * (window.outerWidth / window.innerWidth)

where `window.outerWidth / window.innerWidth` is pinch zoom that, as I suspect, `window.visualViewport.scale` is supposed to be a legit reliable equivalent of. So, if I understand correctly, the new reliable formula would be:

    (image.width / image.naturalWidth) * window.devicePixelRatio * `window.visualViewport.scale`

Do I understand `window.visualViewport.scale` purpose correctly?

Received on Wednesday, 7 September 2016 15:06:31 UTC