Bug 81039 - Remove skew() transformation function (leaving skewX() and skewY())
Summary: Remove skew() transformation function (leaving skewX() and skewY())
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL: https://www.w3.org/Bugs/Public/show_b...
Keywords: WebExposed
Depends on:
Blocks:
 
Reported: 2012-03-13 14:58 PDT by Dirk Schulze
Modified: 2017-04-19 01:06 PDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Schulze 2012-03-13 14:58:48 PDT
Transform editors seem to agree that skew() should get removed from the CSS3 Transform spec. skew is not doing what it suggests to do with questionable mathematical formulas. The skew() function should be removed, once it is removed from the WD of the spec.
Comment 1 Simon Fraser (smfr) 2012-03-13 15:01:02 PDT
It should be removed when we parse unprefixed 'transform', yes. We should leave it in the prefixed one.
Comment 2 Dirk Schulze 2012-03-13 15:11:02 PDT
(In reply to comment #1)
> It should be removed when we parse unprefixed 'transform', yes. We should leave it in the prefixed one.

Do I understand it correctly? You want not to support skew() on unprefixed, but we will still support skew() for the prefixed version, even if we unprefixed transform?
Comment 3 Simon Fraser (smfr) 2012-03-13 15:16:03 PDT
Yes.
Comment 4 Robert O'Callahan 2012-04-03 02:12:46 PDT
If you continue support -webkit-transform:skew(), then authors will use it and copy-paste skew() into unprefixed 'transform', so we'll never be able to stop supporting it.
Comment 5 Simon Fraser (smfr) 2012-04-03 08:45:13 PDT
You could make the same argument for any change between prefixed and unprefixed properties. We can't remove it from the prefixed property and risk breaking walled-garden Apple content.
Comment 6 Dirk Schulze 2012-04-03 09:13:24 PDT
(In reply to comment #4)
> If you continue support -webkit-transform:skew(), then authors will use it and copy-paste skew() into unprefixed 'transform', so we'll never be able to stop supporting it.

We won't support it for transform un-prefixed. Authors will realize the difference when they try it on un-prefixed versions of 'transform'. We have at least one test from Aryeh in the CSS testing harness that will clearly fail on WebKit if we still support it.

Even so, if authors would still use '-webkit-' it won't get supported by Firefox anyway (till you implement the webkit prefix).

And the last point: I never saw any usage of skew() in the wild so far. And I can't imagine a sense full way to use it. I bet no one will realize that skew() was removed since no one ever used it.
Comment 7 Robert O'Callahan 2012-04-03 13:00:52 PDT
> Authors will realize the difference when they try it on un-prefixed versions
> of 'transform'.

Not if they only test in Webkit, since if they write
-webkit-transform:skew();
transform:skew();
the latter will be ignored and the former will continue to work.

> I bet no one will realize that skew() was removed since no one ever used it.

Let's hope so.
Comment 8 Dean Jackson 2012-04-03 13:18:07 PDT
I've seen in-the-wild use of skew to do horrible 3d-ish replications, or possibly isometric stuff. I still want to kill the function though.
Comment 9 Simon Fraser (smfr) 2012-04-03 13:21:19 PDT
Oh you mean like http://www.zachstronaut.com/lab/isocube.html
Comment 10 Aryeh Gregor 2012-07-20 02:39:57 PDT
Gecko removed the feature for Firefox 14, which was just released:

https://bugzilla.mozilla.org/show_bug.cgi?id=734953

We've received five compatibility complaints so far, marked as blocking that bug:

https://bugzilla.mozilla.org/show_bug.cgi?id=747637
https://bugzilla.mozilla.org/show_bug.cgi?id=771180
https://bugzilla.mozilla.org/show_bug.cgi?id=775046
https://bugzilla.mozilla.org/show_bug.cgi?id=775710
https://bugzilla.mozilla.org/show_bug.cgi?id=775763

I think all of them used skew(a) or skew(a, 0) instead of skewX(a) -- I don't think any were using skew(a, b) with a, b != 0 except for demos that let you use all the transform functions.  They're all easily fixed, obviously.

Could WebKit please remove these functions already?  We agreed that we were all going to drop them, and it's not very nice for Mozilla to have to shoulder all the complaints of "every other browser supports it, why did you break my pages?"  There are evidently compatibility issues here, but small ones.

(In reply to comment #7)
> > Authors will realize the difference when they try it on un-prefixed versions
> > of 'transform'.
> 
> Not if they only test in Webkit, since if they write
> -webkit-transform:skew();
> transform:skew();
> the latter will be ignored and the former will continue to work.

Once WebKit unprefixes, it will break for them too, right?  Walled-garden content probably won't break, because probably authors of walled-garden content won't bother to specify both properties.
Comment 11 Simon Fraser (smfr) 2012-07-20 10:16:47 PDT
We can remove them when we drop prefixes, not before.
Comment 12 Aryeh Gregor 2012-07-30 05:34:25 PDT
Mozilla is re-adding skew() support, and requesting that the spec be reverted to require it again:

https://bugzilla.mozilla.org/show_bug.cgi?id=747637
https://www.w3.org/Bugs/Public/show_bug.cgi?id=18436
Comment 13 Simon Fraser (smfr) 2017-04-19 01:06:15 PDT
We failed to remove skew() when dropping prefixes :|