Monthly Archives: April 2015

Mozilla Firefox/Platform Engineering Update 40.1

This engineering update is also available on the Platform/2015-04-24 wiki.

Firefox Release Schedule

Only two weeks until the next Firefox release: 2015-05-11!

Layout (David Baron)

Off-main-thread animations now enabled on all platforms for Nightly and Aurora (bug 980770). This means many animations of the transform and opacity properties will now run on the compositor thread, with fewer updates on the main thread.

Media

We shipped some MSE fixes in the Firefox 37.0.2 chemspill, so YouTube will re-enable HTML5 video for Firefox 37.0.2 on Windows next week.

Performance (Vladan Djeric)

Aaron Klotz and Ben Turner paid a visit to Adobe’s Flash team at their SF offices. They were able to provide fixes for several Flash player issues! An example of their work is in bug 1133351. This particular patch also landed in our codebase.

Many Telemetry histograms automatically expired in Nightly 40. Check Histograms.json and bug 1156565 to see if your histogram needs to be updated.

Telemetry unification work is continuing, Phase 3 is tracked in bug 1120356. Enabling unified Telemetry (i.e. FHR + Telemetry) might get pushed back to Firefox 40.

Among the latest Telemetry changes, Telemetry will submit data more aggressively to make analyses more reliable (akin to FHR) and to reduce reporting latency. Additionally, unified Telemetry now archives Telemetry data on the client for 6 months — this archive will be used to power the Firefox Self-Support feature.

Yoric added a “Task Manager” feature to Nightly 40 (bug 674779) to identify tabs and add-ons that are consuming the main thread’s time and slowing down Firefox. Specifically, it reports the time spent by the main thread inside different JS compartments. You can see a very rough UI for this feature by opening about:performance in Nightly. For overhead reasons, the feature currently does not measure time spent in compartments belonging to Firefox’s own chrome JS code.

The Performance team, alongside Platform teams, will be studying page scrolling & page navigation performance on desktop & Android in Q2: https://wiki.mozilla.org/Firefox/Content_Performance_Program

The Places database work done by the “Forget” toolbar button, the “Forget Site” history-menu feature, and the “Clear recent history” feature has been moved off the main thread (bug 1076775). Less jank!

If you notice any plugin issues (crashes, videos not loading, etc), please file a bug and mark it as blocking the async plugin initialization feature (bug 1116806).

Mozilla Firefox/Platform Engineering Update 39.3

This engineering update is also available on the Platform/2015-04-14 wiki.

Firefox Release Schedule (lmandel)

  • We shipped a Firefox 37.0.1 desktop and mobile chemspills last week.
  • Firefox 38 Beta 1 shipped last week.
  • Updates have been re-enabled for Aurora.
  • 5 weeks until the next merge date (2015-05-11).

Upcoming Outages (hwine)

Tree Closing Window on Saturday April 18 for at least 4-5 hours of work (time TBD). Tracking bug 1151645.

MemShrink (njn)

Brian Hackett took advantage of the removal of object parents to reduce the size of base shapes (bug 1143256). The JS engine creates many of these to track the characteristics of JS objects.

Nick Fitzgerald greatly reduced the amount of memory used for saving JS exception stacks (bug 1038238). This reduced the memory of a test case compiled from Dart to JS from over 1GB to around 170MB (bug 1125259). For implementation details, see Nick’s blog post “A Compact Representation of Captured Stack Frames for SpiderMonkey”.

Seth Fowler fixed a bad leak regression (bug 1150127) where closing a page while it was in the process of loading could leak the page and cause long browser pauses. Seth also fixed a pair of issues that caused very large memory usage (more than 1GB) when scrolling in the downloads list (bug 1148682 and bug 1148684).

Bill McCloskey fixed an issue where a docshell was being held alive for too long on e10s (bug 1137933). This was one of the remaining blockers to enabling e10s Mochitest browser-chrome tests, which will give us more test coverage for leaks.

Media (cpeterson)

We shipped MSE (Media Source Extensions) for YouTube in Firefox 37 on Windows Vista+. Unfortunately, we discovered multiple unrelated issues in the release channel that all manifest themselves as “video is black”:

YouTube helped us quickly revert all Firefox users from HTML5 video to Flash. Once the problems were identified, YouTube was able to switch OS X and Windows Vista+ pre-channels back to HTML5 video. We plan to ship MSE for YouTube on Windows Vista+ in Firefox 38 (or 37 if hotfix bug 1152630 is released soon) and on OS X in Firefox 38 (or possibly slip to 39).