Comments below, but here is a concrete shipping plan proposal: 1. Blog post describing what is happening, why, and how to fix your code. 2. Start a deprecation for 3 milestones (M114-116), with a devtools console warning. Notify enterprises and webview clients of the deprecation. 3. In parallel with #2: turn it off now via finch for canary/dev, then later beta, to see if we get bug reports. 4. Assuming no bug reports that raise new concerns, ship the change in M117.
On Thu, Apr 20, 2023 at 9:01 AM Rick Byers <rby...@chromium.org> wrote: > On Wed, Apr 19, 2023 at 6:53 PM Chris Harrelson <chris...@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 >> <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 >> <https://sample-size.net/confidence-interval-proportion/> 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? > Sure, I can do that. Note that some sites already put -moz-transform and zoom in their style sheet, so there is evidence that transform works ok for some use cases. > > 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? > A deprecation period makes sense. (Note that Firefox already has warnings in their devtools not to use this feature.) > >> On Mon, Apr 17, 2023 at 4:55 PM Morten Stenshorne <msten...@chromium.org> >>> wrote: >>> >>>> Chris Harrelson <chris...@chromium.org> writes: >>>> >>>> > On Sun, Apr 16, 2023 at 11:45 PM Morten Stenshorne < >>>> msten...@chromium.org> wrote: >>>> > >>>> > Chris Harrelson <chris...@chromium.org> writes: >>>> > >>>> > > On Fri, Apr 14, 2023 at 5:09 PM PhistucK <phist...@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) >>>> > >>>> > Agreed that this is a difference. If a developer wants the result to >>>> > flow through fragmentation, they'll have to use the second alternative >>>> > I suggested. >>>> > >>>> > But in terms of web compat, I don't think this situation is anything >>>> > to worry about (e.g. I didn't see any fragmentation when reviewing 25 >>>> > random sites linked to from chromestatus.com). >>>> >>>> But as soon as someone prints any of those sites, there'll be >>>> fragmentation. >>>> >>>> That said, I couldn't find anything bad on those sites, either. I was >>>> thinking that if it's actually okay to replace zoom with a scale >>>> transform, we really need authors to make such elements monolithic >>>> (because any break point inserted inside a transformed element will more >>>> likely than not end up in the middle of some page, rather than at an >>>> actual page boundary). So I changed the engine locally to treat zoom != >>>> 1 as monolithic. But that didn't make any of sites that I tried look any >>>> worse. >>>> >>>> > > 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? >>>> > >>>> > Yes, a bit more cumbersome, but interoperable across all browser >>>> engines. >>>> > >>>> > >>>> > > On Sat, Apr 15, 2023 at 1:03 AM Chris Harrelson < >>>> chris...@chromium.org> wrote: >>>> > > >>>> > > Contact emails >>>> > > >>>> > > chris...@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# >>>> > > >>>> > > Gecko: Shipped/Shipping (Firefox never supported the feature.) >>>> > > >>>> > > WebKit: No signal ( >>>> https://github.com/WebKit/standards-positions/issues/170) >>>> > > >>>> > > Web developers: Some web developers like the feature, in >>>> particular for the use case of zooming in content in a legible way with >>>> responsive >>>> > > design. See comments regarding that in this issue; >>>> https://github.com/w3c/csswg-drafts/issues/5623 >>>> > > >>>> > > Other signals: The CSSWG has decided to not specify this feature: >>>> https://github.com/w3c/csswg-drafts/issues/5623 >>>> > > >>>> > > Ergonomics >>>> > > >>>> > > See "other views" section. >>>> > > >>>> > > Activation >>>> > > >>>> > > N/A >>>> > > >>>> > > Security >>>> > > >>>> > > None >>>> > > >>>> > > WebView application risks >>>> > > >>>> > > 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. >>>> > > >>>> > > Debuggability >>>> > > >>>> > > Sites should be able to see that zoom no longer applies to >>>> elements in devtools, though there is no warning planned. >>>> > > >>>> > > Will this feature be supported on all six Blink platforms >>>> (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)? >>>> > > >>>> > > Yes >>>> > > >>>> > > Is this feature fully tested by web-platform-tests? >>>> > > >>>> > > No >>>> > > >>>> > > Flag name >>>> > > >>>> > > CSSZoom >>>> > > >>>> > > Requires code in //chrome? >>>> > > >>>> > > False >>>> > > >>>> > > Sample links >>>> > > >>>> > > https://output.jsbin.com/yimuwax >>>> > > >>>> > > Estimated milestones >>>> > > >>>> > > Shipping on desktop 114 >>>> > > DevTrial on desktop 114 >>>> > > >>>> > > Shipping on Android 114 >>>> > > DevTrial on Android 114 >>>> > > >>>> > > Shipping on WebView 114 >>>> > > >>>> > > Anticipated spec changes >>>> > > >>>> > > 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 >>>> > > >>>> > > Link to entry on the Chrome Platform Status >>>> > > >>>> > > https://chromestatus.com/feature/6535859207143424 >>>> > > >>>> > > Links to previous Intent discussions >>>> > > >>>> > > This intent message was generated by Chrome Platform Status. >>>> > > >>>> > > -- >>>> > > 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+unsubscr...@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+unsubscr...@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+unsubscr...@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+unsubscr...@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+unsubscr...@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 >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY-XO6eyfHLNFJGf2RNL%3D8-4i2%3DoNCjK6X5MfB9ZCOaUfw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > 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+unsubscr...@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 > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY8khSiw2o7dZ5S6qUjQsmdJ6XUb49q_a5NH1Pn7%2BmyA%3Dw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- 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+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw_iP3ruVE%3DnASg7N7v0gPMxDdJWsZgPT7VLLcZwBBgthg%40mail.gmail.com.