Re: [csswg-drafts] Revisiting standardization of the `zoom` property (#5623)

There are a lot of issues with Blink's / WebKit's implementation of zoom, including their behavior with stuff like getBoundingClientRect(), etc, last time I looked at it.

zoom also has some very weird effects like affecting the intrinsic sizing of images and such even when no `width` / `height` is specified, which are not defined in Rossen's draft (and I just learned by chance).

Here's a super-trivial test-case: `data:text/html,<!doctype html><div style="width: 100px; height: 100px; zoom: 2"></div>`

`document.querySelector("div").getBoundingClientRect()` returns `x: 4` and `y: 4`, which are completely wrong (they're reverse-zoomed even though the origin doesn't change), and `width: 100` and `height: 100` (which is really odd because the zoom affects the size of the box, and something like `transform-origin: 0 0; transform: scale(2)` instead properly affects the result of `getBoundingClientRect()`).

This is just like, the beginning of the issues with zoom, I've seen a lot of bugs go by the Chromium's bug tracker related to it, and the Blink / WebKit implementation is extremely hacky (IMO).

So unless this gets very very very well defined (and my guess is that doing that is going to be very hard because WebKit's implementation is very ad-hoc and patchy in a lot of places), I'd be opposed to do this.

cc @karlcow

-- 
GitHub Notification of comment by emilio
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/5623#issuecomment-709327543 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 15 October 2020 13:33:02 UTC