Firefox 57's been quietly delaying tracking scripts
Trying to stop snoops stalling page loads
When Mozilla lobbed Firefox 57 over the fence last month, it introduced an anti-tracking feature without saying anything much about it.
The changes are in the browser's “network requests scheduler”, and developer Honza Bambas explained the change in detail here.
Bambas wrote that during page load, the scheduler uses the Tracking Protection database “to delay load of scripts from tracking domains when possible during the time a page is actively loading and rendering”.
The feature, which Bambas called “tailing”, should save time on page load performance, since a Web page's images and scripts will get priority.
Bambas noted that the feature doesn't disable tracking scripts: those requests are “kept on hold only while there are site sub-resources still loading and only up to about 6 seconds.”
That applies to “scripts added dynamically or as async”, while tracking images (eg, transparent GIFs) “are always delayed”.
The feature won't behave perfectly in every case – but that, Bambas wrote, is because some pages are simply badly written. An ill-designed page that uses Google's Page-Hiding Snippet, for example, might load as blank for a few seconds, and if a developer is sufficiently inept to refer an API of an async tracking script from a sync script, a race condition is set up.
The feature's bug-tracking channel is also worth a read if you want to see Bamba's decision-making during the eight-month development process. ®