compat
compat copied to clipboard
Specify unitless values for -webkit-perspective
Bugzilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1362499 Test case: view-source:https://bug1362499.bmoattachments.org/attachment.cgi?id=8871283
Chrome, Safari, and Edge behave the same, with Firefox being the outlier:

Question: do unitless values work for other -webkit-transform-related props?
@foolip is this quirk something Blink feels like it can get rid of?
(@upsuper suggested that in https://bugzilla.mozilla.org/show_bug.cgi?id=1522967#c3)
transform supports unitless zero angles in a few places, but I think that's it.
is this quirk something Blink feels like it can get rid of?
I suspect the usage is too high: https://www.chromestatus.com/metrics/feature/timeline/popularity/1671
Oh this is about perspective property... I was talking about -webkit-transform: perspective().
Anyway, there are several questions regarding the numbers:
- Does the number exclude forms like
-webkit-perspective: 500; perspective: 500px;(i.e. authors provide a standard version while using quirks for non-standard property at the same time)? - Does the number exclude zero, e.g.
perspective: 0(which is a valid<length>per spec)?
If the number currently doesn't take them into account, then there is probably a good chance that the usage being high may not really be a problem for removing it.
So I investigated several sample urls listed under the statistics, specifically:
- http://www.preparedfoods.com/
- http://www.searchstorage.de/
- http://www.retetepractice.ro/
- http://www.decopeques.com/
- http://www.egerton.ac.ke/
I don't find any usage of perspective in the last URL, but others all involve non-zero non-standard-only form, so I'm partially convinced that the high usage is probably a real problem, so we may need to standardize something.
The other thing I noticed is that, there is one site doing something like:
-moz-perspective: 100px;
-moz-transform: rotateY(-3deg);
-webkit-transform: perspective(100) rotateY(-3deg);
If Gecko is going to support quirk in perspective, then this would effectively be equivalent to:
perspective: 100px;
transform: perspective(100px) rotateY(-3deg);
I'm not familiar with CSS Transform, so not sure whether this can become a problem for Gecko.
- Does the number exclude forms like
-webkit-perspective: 500; perspective: 500px;(i.e. authors provide a standard version while using quirks for non-standard property at the same time)?
No.
- Does the number exclude zero, e.g.
perspective: 0(which is a valid<length>per spec)?
Yes.
Oh this is about
perspectiveproperty... I was talking about-webkit-transform: perspective().
Unitless perspective() in -webkit-transform has much lower usage: https://www.chromestatus.com/metrics/feature/timeline/popularity/1672
Same answers as above: It doesn't exclude valid transform while using quirks for -webkit-transform. It does exclude perspective(0).
I suspect the usage it just high enough that we would be unlikely to remove. That would be question for blink-dev (e.g. if anybody wanted to send an Intent to Deprecate and Remove).
https://www.chromestatus.com/metrics/feature/timeline/popularity/1672 is indeed at a usage level where removal might go well but might also run into a lot of problems.
I looked for pages in httparchive which have hit this counter: https://bigquery.cloud.google.com/savedquery/762219082167:6959d160407546238ce89fb4a04a2d59 (desktop, 4998 matches) https://bigquery.cloud.google.com/savedquery/762219082167:7118fd961bbe4adba2ad3a733bd2e377 (mobile, 6492 matches)
https://gist.github.com/foolip/eef626588ed75727c663e46902ff9fcb is the output of the mobile query. I think that if removing this is desirable, then the best next step would be for someone to try analyzing a random sample of these sites to see if they would break if behavior changed.
https://gist.github.com/foolip/eef626588ed75727c663e46902ff9fcb is the output of the mobile query. I think that if removing this is desirable, then the best next step would be for someone to try analyzing a random sample of these sites to see if they would break if behavior changed.
Here's one site that is broken in Gecko due to this:
http://www.satine.org/research/webkit/snowleopard/snowstack.html
Reported as Gecko bug 1756417