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