Removes support for the non-standard "zoom" CSS property. This CSS property causes computed lengths for an element to be multiplied by the specified zoom factor.
This feature is only available in Webkit and Blink-based browsers, and has been present in Chrome since the beginning. Usage is a little above 0.5% of page loads: https://chromestatus.com/metrics/feature/timeline/popularity/3578 However, research shows that sites in HTTPArchive triggering the feature mostly don't even seem to use it, and those that do appear to always use it in a way that works fine without zoom applied - worst case, just a very minor change to the size of a tiny number of UI elements, but the UX is basically the same. See: https://docs.google.com/document/d/1cmbXpjAcXAht2ufi7bNKy-rbVNveqaf0UzeYg_DIMNA/edit#
See "other views" section.
N/A
None
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
Maybe. WebView-based apps might use this feature.
Sites should be able to see that zoom no longer applies to elements in devtools, though there is no warning planned.
Shipping on desktop | 114 |
DevTrial on desktop | 114 |
Shipping on Android | 114 |
DevTrial on Android | 114 |
Shipping on WebView | 114 |
Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).
None--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw_2izF%2BTzHvALsKSxD_uLds%2BPAD7fLtvpX4Cwe7sTwU7g%40mail.gmail.com.
Any alternatives? I thought there was a section in the intent templates for that...
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABc02_%2Br8k-q-bKWGFKxgNbSy97UKGf7VUSMnrnURBJHor-x_w%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw_yfVCi3aWq7X%3DhW%2BTUrPpdOZ7-L2bBxhHfQ9f%3DuRGObA%40mail.gmail.com.
Contact emails
chri...@chromium.org
Specification
https://developer.mozilla.org/en-US/docs/Web/CSS/zoom
Summary
Removes support for the non-standard "zoom" CSS property. This CSS property causes computed lengths for an element to be multiplied by the specified zoom factor.
Blink component
Blink>CSS
TAG review
None
TAG review status
Not applicable
Risks
Interoperability and Compatibility
This feature is only available in Webkit and Blink-based browsers, and has been present in Chrome since the beginning. Usage is a little above 0.5% of page loads: https://chromestatus.com/metrics/feature/timeline/popularity/3578 However, research shows that sites in HTTPArchive triggering the feature mostly don't even seem to use it, and those that do appear to always use it in a way that works fine without zoom applied - worst case, just a very minor change to the size of a tiny number of UI elements, but the UX is basically the same. See: https://docs.google.com/document/d/1cmbXpjAcXAht2ufi7bNKy-rbVNveqaf0UzeYg_DIMNA/edit#
It would also be good to go through all duplicates and "See Also" bugs linked at https://bugzilla.mozilla.org/show_bug.cgi?id=390936 and see how we fare with a build that has zoom disabled.
On 4/14/23 8:03 PM, Chris Harrelson wrote:
Contact emails
chri...@chromium.org
Specification
https://developer.mozilla.org/en-US/docs/Web/CSS/zoom
Summary
Removes support for the non-standard "zoom" CSS property. This CSS property causes computed lengths for an element to be multiplied by the specified zoom factor.
Blink component
Blink>CSS
TAG review
None
TAG review status
Not applicable
Risks
Interoperability and Compatibility
This feature is only available in Webkit and Blink-based browsers, and has been present in Chrome since the beginning. Usage is a little above 0.5% of page loads: https://chromestatus.com/metrics/feature/timeline/popularity/3578 However, research shows that sites in HTTPArchive triggering the feature mostly don't even seem to use it, and those that do appear to always use it in a way that works fine without zoom applied - worst case, just a very minor change to the size of a tiny number of UI elements, but the UX is basically the same. See: https://docs.google.com/document/d/1cmbXpjAcXAht2ufi7bNKy-rbVNveqaf0UzeYg_DIMNA/edit#
It would also be good to go through all duplicates and "See Also" bugs linked at https://bugzilla.mozilla.org/show_bug.cgi?id=390936 and see how we fare with a build that has zoom disabled.
Gecko: Shipped/Shipping (Firefox never supported the feature.)
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/745a0332-2bdf-5d77-e05d-56722211ffc1%40chromium.org.
Chris Harrelson <chri...@chromium.org> writes:
> On Fri, Apr 14, 2023 at 5:09 PM PhistucK <phis...@gmail.com> wrote:
>
> Any alternatives? I thought there was a section in the intent templates for that...
>
> One alternative for the use case mentioned in my earlier email is to
> apply a CSS transform instead. This will magnify the subtree visually
> but not cause a zoom-style layout change.
The fact that a CSS transform doesn't affect layout, whereas 'zoom'
does, means that we'll paginate (fragment) properly with 'zoom', but not
with transforms, since they are applied after fragmentation [1], causing
content to be sliced across fragmentainer boundaries, and the actual
page/column breaks (as far as layout is concerned) are shifted away from
the fragmentainer edges visually, and will appear in the middle of a
page/column, for instance.
[1] https://www.w3.org/TR/css-break-3/#transforms (never mind the
example there; it's not too relevant for this discussion, but I can
provide one if you want)
> Another alternative is for the developer to multiply the numbers in
> their CSS properties via calc + variables.
That alternative should always work, but more cumbersome for the
authors, I suppose?
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/87pm83knwv.fsf%40bud.servebeer.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/87leiqkz3o.fsf%40bud.servebeer.com.
Hey everyone,I currently depend on the `zoom` CSS property since using `scale` in conjunction with perspective transforms results in a significant color washout in Chrome. My primary goal is to achieve pixel-perfect precision, and I'd be more than willing to transition away from `zoom` if this issue were resolved or if there is a viable alternative. It would be quite concerning if zoom was removed from Blink without an equivalent solution for this usecase.Here are some examples (please download originals and compare locally):Original with `zoom: 3` and `transform: perspective(125px) rotateX(2deg)`:With `transform: scale(3) perspective(125px) rotateX(2deg)`:For comparison, here is what it looks like with just `transform: scale(3)` and without the perspective transform which does not have this problem:You'll best see the difference near outlines, like the outlines for trees, mountains and streets look washed out in the version using `scale`. Similarly, fonts are not upscaled correctly with scale and a perspective transform either, compare https://photos.app.goo.gl/PFzzBbaJFLY4Sb7T6 (zoom) with https://photos.app.goo.gl/L82MfqmwRwpvqRHp8 (scale).In my example, the canvas and DOM elements all have `image-rendering: pixelated` applied to them.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/aff83eb4-4a28-469f-a06c-5dba3e5d7cfan%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/87leiqkz3o.fsf%40bud.servebeer.com.
First, you'll have a flag so we can kill-switch it if we see any non-trivial breakage in practice, right?
WebView seems particularly risky, perhaps we should separate that out and leave it enabled on WebView at least to start?
What about enterprise, likely to be higher risk / needing a mitigation strategy?
From the HA analysis, were you able to get any upper bound on the fraction of sites with significant (i.e. usability impacting) breakage? Eg. can we spot check 100 pages that hit the counter to see if any look really broken? Alternately the UKM analysis Yoav suggests could help. I've been planning on figuring out how to do a UKM usage distribution analysis - this might make a good candidate.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY-XO6eyfHLNFJGf2RNL%3D8-4i2%3DoNCjK6X5MfB9ZCOaUfw%40mail.gmail.com.
Mike said: "It would also be good to go through all duplicates and "See Also" bugs linked at https://bugzilla.mozilla.org/show_bug.cgi?id=390936 and see how we fare with a build that has zoom disabled."Good idea. I checked all 37 of the sites referenced from that issue. I found only 3 that were even somewhat broken, and only 2 where there was something substantial (an "8-ball" image that was too big, and a facebook login that was cut off at some viewport sizes). Most sites didn't have any zoom at all.I also updated the "use cases" section with more use cases found by reviewing the sites.Yoav said: "Is it possible to also expose the usecounter as UKM, and see the usage distribution? Given the high usage percentage, it can be reassuring to see that a) No large sites get broken by this b) Long tail sampling from UKM matches what y'all saw in HA"It's possible. Based on the data I've provided (including response to Mike above), do you think it's needed?On Mon, Apr 17, 2023 at 2:39 PM Rick Byers <rby...@chromium.org> wrote:First, you'll have a flag so we can kill-switch it if we see any non-trivial breakage in practice, right?Already in place. CSSZoom is a base::Feature in addition to a RuntimeEnabledFeature.WebView seems particularly risky, perhaps we should separate that out and leave it enabled on WebView at least to start?I'm willing to do that as a first step.What about enterprise, likely to be higher risk / needing a mitigation strategy?I'll add an enterprise flag for it, and ask for this change to be highlighted in enterprise release notes. WDYT, good enough?
From the HA analysis, were you able to get any upper bound on the fraction of sites with significant (i.e. usability impacting) breakage? Eg. can we spot check 100 pages that hit the counter to see if any look really broken? Alternately the UKM analysis Yoav suggests could help. I've been planning on figuring out how to do a UKM usage distribution analysis - this might make a good candidate.I spot checked 62 sites from HTTPArchive and from the Mozilla bug. In my view, none were terribly broken, and almost all were unaffected or had trivial changes. According to foolip's methodology with N=62 and x=0, that means that we've reduced the risk from the use counter of 0.5% to 0.028%.To get to 0.001% I'd need a lot more N, technically speaking.However, in basically all of the cases zoom was applied either to very few elements or to the body; in the latter the site still renders fine (because browser zoom uses the same technique), and for the others it's at best cosmetic in almost all cases.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY8khSiw2o7dZ5S6qUjQsmdJ6XUb49q_a5NH1Pn7%2BmyA%3Dw%40mail.gmail.com.
How does this removal interact with the browser zoom feature? Today this seems to affect the CSS zoom property:getComputedStyle(document.documentElement).zoom
How much of the code do you get to remove, vs how much is still needed to support browser zoom but will have reduced web exposure?
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACuR13ezTKBPffsp4nNyW4fhE7rLcz4AzHWWRrJw20fS0P0PAg%40mail.gmail.com.
On Wed, Apr 19, 2023 at 6:53 PM Chris Harrelson <chri...@chromium.org> wrote:Mike said: "It would also be good to go through all duplicates and "See Also" bugs linked at https://bugzilla.mozilla.org/show_bug.cgi?id=390936 and see how we fare with a build that has zoom disabled."Good idea. I checked all 37 of the sites referenced from that issue. I found only 3 that were even somewhat broken, and only 2 where there was something substantial (an "8-ball" image that was too big, and a facebook login that was cut off at some viewport sizes). Most sites didn't have any zoom at all.I also updated the "use cases" section with more use cases found by reviewing the sites.Yoav said: "Is it possible to also expose the usecounter as UKM, and see the usage distribution? Given the high usage percentage, it can be reassuring to see that a) No large sites get broken by this b) Long tail sampling from UKM matches what y'all saw in HA"It's possible. Based on the data I've provided (including response to Mike above), do you think it's needed?On Mon, Apr 17, 2023 at 2:39 PM Rick Byers <rby...@chromium.org> wrote:First, you'll have a flag so we can kill-switch it if we see any non-trivial breakage in practice, right?Already in place. CSSZoom is a base::Feature in addition to a RuntimeEnabledFeature.WebView seems particularly risky, perhaps we should separate that out and leave it enabled on WebView at least to start?I'm willing to do that as a first step.What about enterprise, likely to be higher risk / needing a mitigation strategy?I'll add an enterprise flag for it, and ask for this change to be highlighted in enterprise release notes. WDYT, good enough?Works for me.From the HA analysis, were you able to get any upper bound on the fraction of sites with significant (i.e. usability impacting) breakage? Eg. can we spot check 100 pages that hit the counter to see if any look really broken? Alternately the UKM analysis Yoav suggests could help. I've been planning on figuring out how to do a UKM usage distribution analysis - this might make a good candidate.I spot checked 62 sites from HTTPArchive and from the Mozilla bug. In my view, none were terribly broken, and almost all were unaffected or had trivial changes. According to foolip's methodology with N=62 and x=0, that means that we've reduced the risk from the use counter of 0.5% to 0.028%.To get to 0.001% I'd need a lot more N, technically speaking.However, in basically all of the cases zoom was applied either to very few elements or to the body; in the latter the site still renders fine (because browser zoom uses the same technique), and for the others it's at best cosmetic in almost all cases.That's great to hear. Given the usage is pretty high and there's at least some uncertainty among developers with how to replace their use of zoom (Christoph's note), WDYT about doing a blog post warning about the removal of zoom and showing how to replace it with transforms?
Also, should we consider a deprecation period with deprecation warnings in the console and available to the reporting API? Or is that likely to be so noisy with most cases being false positives that it would be net harmful do you think?
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY8khSiw2o7dZ5S6qUjQsmdJ6XUb49q_a5NH1Pn7%2BmyA%3Dw%40mail.gmail.com.
> > To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
> > To view this discussion on the web visit
> >
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw_2izF%2BTzHvALsKSxD_uLds%2BPAD7fLtvpX4Cwe7sTwU7g%40mail.gmail.com.
>
> >
> >
> > --
> > You received this message because you are subscribed to the Google Groups "blink-dev" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
> > To view this discussion on the web visit
> >
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABc02_%2Br8k-q-bKWGFKxgNbSy97UKGf7VUSMnrnURBJHor-x_w%40mail.gmail.com.
>
>
> --
> Morten Stenshorne, Software developer,
> Blink/Layout, Google, Oslo, Norway
>
> --
> You received this message because you are subscribed to the Google Groups "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
> To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/87pm83knwv.fsf%40bud.servebeer.com.
>
--
Morten Stenshorne, Software developer,
Blink/Layout, Google, Oslo, Norway
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/87leiqkz3o.fsf%40bud.servebeer.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY-XO6eyfHLNFJGf2RNL%3D8-4i2%3DoNCjK6X5MfB9ZCOaUfw%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
> > To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
> > To view this discussion on the web visit
> >
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw_2izF%2BTzHvALsKSxD_uLds%2BPAD7fLtvpX4Cwe7sTwU7g%40mail.gmail.com.
>
> >
> >
> > --
> > You received this message because you are subscribed to the Google Groups "blink-dev" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
> > To view this discussion on the web visit
> >
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABc02_%2Br8k-q-bKWGFKxgNbSy97UKGf7VUSMnrnURBJHor-x_w%40mail.gmail.com.
>
>
> --
> Morten Stenshorne, Software developer,
> Blink/Layout, Google, Oslo, Norway
>
> --
> You received this message because you are subscribed to the Google Groups "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
> To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/87pm83knwv.fsf%40bud.servebeer.com.
>
--
Morten Stenshorne, Software developer,
Blink/Layout, Google, Oslo, Norway
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/87leiqkz3o.fsf%40bud.servebeer.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY-XO6eyfHLNFJGf2RNL%3D8-4i2%3DoNCjK6X5MfB9ZCOaUfw%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY8khSiw2o7dZ5S6qUjQsmdJ6XUb49q_a5NH1Pn7%2BmyA%3Dw%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4c24d7fe-7e68-4b8f-b16c-814d68667ac2n%40chromium.org.
Back to the testing question. There are hundreds of blink web tests that set zoom via CSS. Most of them are not testing the zoom CSS feature itself (though some are) so most of them would need to be updated to test browser zoom situations. It's tractable, particularly if we modify the existing testing internals methods to enable arbitrary zoom.While we're at it, I propose adding testing functionality to WPT for testing at different device scale factors. As far as I can tell it does not yet exist.Is that step 1a? Step 0?
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGsbWzSEsYqegJ2LJFCMjK-mpFitS0mcYKHei8b%2BbBonasQ5yA%40mail.gmail.com.
I agree that this is probably too risky right now. Are you willing to modify the plan you posted to gate #4 on a UKM analysis and/or driving use below a negotiated threshold, Chris?
> > To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
> > To view this discussion on the web visit
> >
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw_2izF%2BTzHvALsKSxD_uLds%2BPAD7fLtvpX4Cwe7sTwU7g%40mail.gmail.com.
>
> >
> >
> > --
> > You received this message because you are subscribed to the Google Groups "blink-dev" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
> > To view this discussion on the web visit
> >
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABc02_%2Br8k-q-bKWGFKxgNbSy97UKGf7VUSMnrnURBJHor-x_w%40mail.gmail.com.
>
>
> --
> Morten Stenshorne, Software developer,
> Blink/Layout, Google, Oslo, Norway
>
> --
> You received this message because you are subscribed to the Google Groups "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
> To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/87pm83knwv.fsf%40bud.servebeer.com.
>
--
Morten Stenshorne, Software developer,
Blink/Layout, Google, Oslo, Norway
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/87leiqkz3o.fsf%40bud.servebeer.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY-XO6eyfHLNFJGf2RNL%3D8-4i2%3DoNCjK6X5MfB9ZCOaUfw%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY8khSiw2o7dZ5S6qUjQsmdJ6XUb49q_a5NH1Pn7%2BmyA%3Dw%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4c24d7fe-7e68-4b8f-b16c-814d68667ac2n%40chromium.org.