26 karma · joined November 30, 2015
This got in the way of implementing various improvements to <meta charset> and interop improvements to XHR.
* It seems Google Location Services has been the default location provider since a long long time ago (probably since before the Mozilla service existed).
* It seems like Firefox uses system APIs (and only then falls back to GLS): https://bugzilla.mozilla.org/show_bug.cgi?id=1512161
* It seems at one point the plan was to switch to MLS completely, but was reverted before hitting release: https://bugzilla.mozilla.org/show_bug.cgi?id=1216662
* And it seems currently Firefox is using MLS on Early Beta / Nightly, and comparing results to GLS: https://searchfox.org/mozilla-central/rev/d6d8ea296d3560615f... / https://bugzilla.mozilla.org/show_bug.cgi?id=1637402
We get significant speed ups from parallelism and such on big doms over all during page load, but we also get speedups from dynamic change handling implementing smarter invalidation than Gecko, which basically restyles the whole subtree / every sibling if it finds a relevant combinator affected by a change.
WebKit does much better than Gecko for class and other attribute changes, at least for descendants, where you go down with the relevant selectors. Stylo's system is relatively similar, but doing selector matching ltr, and handling the same way state and id changes.
You can see components/style/invalidation/element in the servo repo for the relevant code in that regard.