Primary eng email
bs...@chromium.org, taba...@chromium.org
Summary
The CSS "zoom" property is not in the CSS standard but Blink supports it anyway.
There are three special values which are inconsistently documented: "reset," "normal," and "document." At the moment "zoom:normal" is equivalent to "zoom:1"; "zoom:reset" and "zoom:document" are similar to "zoom:1" but they disable page zoom as well (so the element remains the same size as you zoom in and out).
I propose changing "reset" to be the same as "normal" (equivalent to zoom:1) and removing support for "document."
Motivation
Alternative implementation suggestion for web developers
Stop wanting to disable page zoom.
Compatibility Risk
Page zoom will start working on some websites where it didn't before.
If a website was using zoom:document to override a zoom:x != 1 value in a cascade then the zoom:x will start applying where it didn't before.
Current Browser Support:
Edge/IE: Only supports zoom:normal (with the same behavior as Blink).
Firefox: Does not support the zoom property at all.
Public Tracking Bug
The bug about me breaking zoom:reset is crbug.com/642613 and it has some discussion of this. I can file a separate tracking bug if it seems necessary.
--
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.
1. No direct data. I looked at https://developer.microsoft.com/en-us/microsoft-edge/platform/usage/css/zoom which shows usage of zoom:normal, but that's the value I'm not modifying. I assume the other variants have less usage than that.
2. I don't have an OSX device on hand to make sure, but I assume the same thing.
3. I haven't had any discussion. I'm only changing the variants that are Blink-specific.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
☆PhistucK
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
☆PhistucK
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
Arguably this is an improvement. Certainly in my opinion this behavior looks better and is less user-hostile. This is at 25% zoom so it's much more dramatic than what someone would normally see.
I double-checked this site on mobile Safari, the behavior doesn't happen when using pinch-zoom:
Here's an example of what would change for a website if we deprecated zoom:reset. I managed to find one site that is using zoom:reset in the wild: foodviva.comThe "Food Gallery" sidebar div has zoom:reset applied, which makes it out-of-proportion to the rest of the site if you zoom the page in or out:If I disable zoom:reset with the inspector the div is now in proportion with the rest of the page:Arguably this is an improvement. Certainly in my opinion this behavior looks better and is less user-hostile. This is at 25% zoom so it's much more dramatic than what someone would normally see.
Without zoom:reset:
Still an improvement IMO. I would really like to see a non-broken-looking use of this, but I haven't been able to find any other site that uses it so far.
If you look at the internal histogram for dev directly it still only says 0.01% for zoom:reset. Where is the order-of-magnitude difference coming from?
I still think we shouldn't support this feature regardless of the numbers, but it sounds like I'm alone in that thought.
Have you checked chromium code? If the NTP or settings page or something was using it that might skew the numbers.
I didn't know of nerdydata.com, thanks!
Have you checked chromium code? If the NTP or settings page or something was using it that might skew the numbers.
--
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.
@Rick The original motivation of my spec was to ideally deprecate the property. The reason why ‘reset’ and ‘document’ weren’t documented is simply because I was documenting what IE/Edge supports - ‘normal’ and <int>.
FWIW, our stats[1] show zoom: <int>; usage as 25% (basically zoom:1); as well as ‘reset’ and ‘document’ being very low (0.002%). I’d have to check on the freshness of the current stats but that’s not too far off from what I saw in the past when I wrote the spec.
My position on this is that we should still aim to eliminate the property if possible.
Cheers,
Rossen
[1] https://developer.microsoft.com/en-us/microsoft-edge/platform/usage/css/zoom
☆PhistucK
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
☆PhistucK
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
☆PhistucK
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
@PhistucK, this was/is my exact proposal J
From: PhistucK [mailto:phis...@gmail.com]
Sent: Monday, October 3, 2016 10:44 AM
To: Rossen Atanassov <Rossen.A...@microsoft.com>
Cc: Chris Harrelson <chri...@chromium.org>; Rick Byers <rby...@chromium.org>; eae <e...@chromium.org>; blink-dev <blin...@chromium.org>; Bret Sepulveda <bs...@google.com>
Subject: Re: [blink-dev] Intent to deprecate and remove hidden zoom values
At the risk of sounding drastic and extreme, what about eliminating this entire property?
☆PhistucK
☆PhistucK
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
☆PhistucK
☆PhistucK
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
I didn't see any examples of zoom:reset being used on chrome:// pages, but I there are two layout tests: fast/css/zoom-font-size.html and fast/css-generated-content/table-with-scrollbar-corner.html, I have no idea if that would contribute to its usage data.I found 78 examples of websites from HTTP Archive, thank you for that link. I didn't go through all of them, but a lot of those I sampled seemed to be vestigial CSS rules that didn't actually apply to any elements (25 of them are using exactly the same CSS file, and another 10 are using one CSS file mirrored to their domains). Here are the interesting examples I found:happiestminds.com seems to be trying to use it to keep the scrolling banner a fixed size so you can't see the hidden parts of the banner. It doesn't really work though, even with zoom:reset on, since you can expand the window and it doesn't update the banner right away. Zooming in and out looks kinda broken as-is and disabling zoom:reset doesn't really help. But at least it's the correct size without zoom:reset.ruinergame.com is using it as a blanket "disallow page zoom" by putting it on <html>. Even if you disable zoom:reset you still can't zoom the page, so it must be using some other trick too (one that works on Edge and Firefox, since those browsers also cannot zoom it).asiancorrespondent.com is using zoom:reset in an @media block to only disallow zooming out. If you disable zoom:reset it looks fine zoomed out, so I don't really understand why.patycantu.com is the only non-broken-looking usage I could find. There's a block of ads at the bottom of the page (I get an ad for "US Patriot Tactical" and "2016 Mazda 3", but I assume it's targeted). The rest of the page is at zoom:90% but the mazda ad has zoom:reset applied so that it fits correctly in the allotted space. Disabling zoom:reset make it take up slightly more space and thus get clipped. If you open the site in Edge and make the window too small you can see the same behavior, for reasons I don't quite understand.Note that this means I was wrong about deprecating zoom:reset not affecting mobile safari, since it can override a parent element's zoom value (which was probably the intended use of it all along). But hardly anyone is using it that way.
Bret, thanks for the detailed analysis and sorry for the delay on this thread - I just realized it was waiting for a response.I looked at a couple of those pages also and I'm convinced by your analysis. I support trying to match Edge. Of course we should keep our eyes out for reports of breakage and reconsider if we hit anything substantial.LGTM1 to deprecate for at least one milestone then remove.Please file a separate OWP-Launch bug and chromestatus entry to track.
On Tue, Oct 4, 2016 at 6:10 PM, 'Bret Sepulveda' via blink-dev <blin...@chromium.org> wrote:
I didn't see any examples of zoom:reset being used on chrome:// pages, but I there are two layout tests: fast/css/zoom-font-size.html and fast/css-generated-content/table-with-scrollbar-corner.html, I have no idea if that would contribute to its usage data.I found 78 examples of websites from HTTP Archive, thank you for that link. I didn't go through all of them, but a lot of those I sampled seemed to be vestigial CSS rules that didn't actually apply to any elements (25 of them are using exactly the same CSS file, and another 10 are using one CSS file mirrored to their domains). Here are the interesting examples I found:happiestminds.com seems to be trying to use it to keep the scrolling banner a fixed size so you can't see the hidden parts of the banner. It doesn't really work though, even with zoom:reset on, since you can expand the window and it doesn't update the banner right away. Zooming in and out looks kinda broken as-is and disabling zoom:reset doesn't really help. But at least it's the correct size without zoom:reset.ruinergame.com is using it as a blanket "disallow page zoom" by putting it on <html>. Even if you disable zoom:reset you still can't zoom the page, so it must be using some other trick too (one that works on Edge and Firefox, since those browsers also cannot zoom it).asiancorrespondent.com is using zoom:reset in an @media block to only disallow zooming out. If you disable zoom:reset it looks fine zoomed out, so I don't really understand why.patycantu.com is the only non-broken-looking usage I could find. There's a block of ads at the bottom of the page (I get an ad for "US Patriot Tactical" and "2016 Mazda 3", but I assume it's targeted). The rest of the page is at zoom:90% but the mazda ad has zoom:reset applied so that it fits correctly in the allotted space. Disabling zoom:reset make it take up slightly more space and thus get clipped. If you open the site in Edge and make the window too small you can see the same behavior, for reasons I don't quite understand.Note that this means I was wrong about deprecating zoom:reset not affecting mobile safari, since it can override a parent element's zoom value (which was probably the intended use of it all along). But hardly anyone is using it that way.
LGTM2
☆PhistucK
☆PhistucK
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
--
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.
LGTM3
LGTM2
☆PhistucK
☆PhistucK
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
--
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.
LGTM3
LGTM2
☆PhistucK
☆PhistucK
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
--
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.