Howdy dev-platform (cross-posting fx-team for maximum synergy),

A quick update on our progress of implementing the WebKit related deps of Bug 1170774.

In Bug 1213126 we set layout.css.prefixes.webkit to true by default to let it ride the trains and see if anything exploded. Not surprisingly, some stuff blew up.

So since Bug 1238827, we're restricting layout.css.prefixes.webkit=true to non-Release builds.

(If you want to learn what layout.css.prefixes.webkit enables, check out Bug 1170789 and its CSS deps. One other DOM interface is behind the pref,

Bug 717722: implement WebKitCSSMatrix

This fixes a ton of mobile sites. The Compat Spec stuff was moved into the Geometry spec making WebKitCSSMatrix an alias of DOMMatrix (after changing a few things to make it compatible). Apple and Google have bugs on file to do this, which is cool.)

The following are things that we discovered we needed to be compatible with the web once you support some WebKit prefixed stuff since turning on layout.css.prefixes.webkit.

- Bug 1239799: Add support for "@media (-webkit-transform-3d)" as a media query for 3d transform support.

Turns out some sites using older versions of Modernizr will only do 3d transforms if you support this. So now we do, and we've specced it: https://compat.spec.whatwg.org/#css-media-queries-webkit-transform-3d

- Bug 1236979: send 'webkitTransitionEnd', 'webkitAnimationEnd', etc. events instead of their standard equivalents, if listeners only exist for prefixed event name.

Lots of (mapping) sites break if you don't do this. And probably more things we don't know about. Edge, Safari, and Blink all do this, so now we do too. (Yes, it's gross and weird.) A PR is in progress to get this specced in DOM.

- Bug 1241021: Support camel-cased and webkit-cased CSSStyleDeclaration attributes for getting & setting WebKit prefixed styles

Some sites do things like $(foo).css('-webkit-bar', 'baz'). We found a lot of image sliders break if you don't support this. In order for that to work, you have to support setting/getting elm.style['WebkitTransition'] in addition to elm.style['webkitTransition'].

But wait, there's more.

- Bug 1246796: Add support for elm.style['-webkit-foo'] style CSSOM getters/setters.

Yeah. Apparently every single browser except us supports this (for their own prefixes too). Fun.

- Bug 1248444: Allow writing to cross origin style sheets

All non-Gecko browsers will let you write to a 3rd party stylesheet via insertRule (even though CSSOM says this is a SecurityError). We need to do some careful research here to make sure we can safely do the same.

- Bug 759568:  Implement -webkit-background-clip: text;
- Bug 1247777: Implement -webkit-text-fill-color
- Bug 1248708: Implement -webkit-text-stroke

These three are all related to fancy typography effects that sites use with -webkit- prefixed gradients. If you support gradients but not these, you're gonna have a bad timeā„¢: https://cloudup.com/cVP9AppLMAv

dholbert has a good proposal to ignore webkit-prefixed gradients if you find -webkit-background-clip: text in the same rule. That should allow us to ship enable our webkit support without being blocked on these three bugs (and without regressing Release's behavior for this typography gradient clipping). See Bug 1248785 for that.

The following things have been disabled:

- Bug 1249134: disable -webkit-appearance alias for now.

The behavior between -moz-appearance and -webkit-appearance is too different to be useful. We have https://github.com/whatwg/compat/issues/6 filed to spec the way -webkit-appearance is used (and how designers rely on it for fancy forms), and once we're there we'll be following up with bugs against Gecko.

- Bug 1237720: put "-webkit-min-device-pixel-ratio" behind it's own pref and disable it.

Supporting this fixed a number of mobile sites, but unfortunately broke Google Docs on HiDPI devices. :( So it's disabled for now. Maybe it will come back one day.

Things we've already shipped, or are riding the trains:

- Bug 920734: window.orientation / orientationchange event support (44)
- Bug 264412: element.innerText (45)
- Bug 823483: Percentage max-width does not seem to affect contributions to intrinsic min-width (46)

Lots and lots of sites are fixed as a result. \o/

If you only use Release or Beta, consider using Nightly Fennec to see a lot of improvements. And please keep reporting strange bustage you see in Dev Edition or Nightly Desktop that is fixed by toggling layout.css.prefixes.webkit to false and needinfo? :miketaylr.

Big thanks to bz, dbaron, dholbert, foolip, hallvors, heycam, karlcow, wchen, roc, zcorpan, and many others for patches, reviews, spec comments.

(OK, this wasn't such a quick update)

later,

--
Mike Taylor
Web Compat, Mozilla
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to