From MozillaWiki
Jump to: navigation, search

Actions from last meeting

  • Next meeting leader will be mconley.

General Topics / Roundtable (tips/tricks/FYI, productivity improvements, industry news)

  • The Sync team has been experimenting with using the ‘elm’ twig and ‘hg evolve’ for collaborating. We wrote up our experience, please take a look and suggest improvements.
  • [standard8] ESLint no-undef (no undefined) rule has been enabled for toolkit/. browser/ is in progress. See devmo for more hints. Ask in #eslint if you need help.
  • [mconley] Talos profiling support is now fixed; this was accidentally broken a month back.
    • Note that the option is --geckoProfile now, --spsProfile is deprecated

Friends of the Firefox team

Project Updates


Activity Stream

  • Removing dependence on Add-on SDK for landing in mozilla-central as a result of Talos testing and deprecation of APIs. Starting with API replacing / inlining, bootstrapping / loader alternatives, testing infrastructure.
  • Identified individual modules with clearly defined interfaces that can be profiled, reviewed and landed in smaller separate parts. Our intention is to get help/feedback from other Firefox engineers on the individual issues in each of those modules. For example:
    • Places queries: land these as a separate patch that can be profiled, optimized, and reviewed
  • Leverage existing code / land code directly in MC for modules we feel need to be more stable/integrated into Firefox, and also to reduce code duplication. For example
    • Metadata Parsing / Metadata store: we would like to work with/get patches reviewed so that the existing places metadata parser can use our metadata rules, instead of using our existing metadata parser
    • ColorAnalyzer / Screenshots: this code only requires a few bug fixes and additions to what is already landed in M-C
  • Use the system add-on architecture where we feel we need to iterate more quickly, such as our UI code

Content Handling Enhancement

  • Download progress indication redesign (bug 1270006, bug 1270012, bug 1338984) reviewed and will land in a matter of days.

Electrolysis (e10s)

  • Planning is currently underway to do an e10s-multi experiment on a future release. Currently defining cohort sizes.
  • Native Stacks are now available for BHR on Windows, and stacks are starting to trickle in for tab switch spinners.
    • Mozilla has a symbol server containing symbols we use for Breakpad, and the symbolication service.
    • How it works: you hand the symbolication service a stack containing a program counter (gathered by StackWalk), and an array of module versions.
    • The service resolves this to a symbolicated stack. It downloads symbols from the symbol server, caches, then maps them.
    • The production server is undergoing a rewrite to make it snappier; should be ready in March.
  • mconley found a case where we’ll show tab switch spinners when blocked by JS, even with force-painting. Working on a patch.

Firefox Core Engineering

  • Looked into “one” problematic Aurora 51 client that was messing up our graphs.
  • Looking into lack of application of hotfix for websense in 47 and 48 (despite users actually having the hotfix).
  • pingSender should be fully functional and out of QA this week. Will be used for sending crash pings on Nightly, Aurora, and Beta next week.
  • Starting to work on a background download service for updates.

Form Autofill

Go Faster

Platform UI and other Platform Audibles


  • More polish work around the permissions project (53) and in-context password warning (52) project.
  • Test Pilot experiments progress: Tracking Protection concluded, Containers is about to launch.
  • Team had a work week last week in MV.
  • Immediate priority (as concluded from work week): Containers, Shavar improvements, SafeBrowsing v4, more permissions polish (including about:permissions replacement), shield study on privacy prefs breakage

Quality of Experience

  • Lightweight themes will soon be implemented purely through CSS variables once bug 864562 lands
  • We are close to getting the new (Web Extension-based) themes to show up in the Add-ons Manager. This work is being tracked in bug 1330349
  • Blog post announcing Theming API by dolske:
  • Improvements to importing are ongoing
    • Turning on automatic migration/import on nightly, aurora and early beta starting with 54
    • Running another experiment on beta 53 to see why/when people don’t like us importing their history/bookmarks from another browser (with a survey)
    • Dão added some limits so we don’t import ALL THE HISTORY all the time when importing from Chrome (currently looking at 6 months and 2000 urls as a limit)
    • Gijs tried to make history import not hang quite so much by reducing main thread communication
    • Looking at improving things for bookmarks imports next…
    • Turning automatic import on for Nightly, Aurora, and Beta, but not Release. Large number of people want to revert auto-import; we’re going to prompt them with a survey on Beta.
  • Preferences reorg/search
  • Six (6!) GSOC applicants for Boosting Sessionstore Performance project so far
    • Can I have more than one? ;-P


  • Some Awesomebar and Places fixes.
  • High-rez favicons are coming.
  • The Cliqz test pilot experiment shipped a bug fix update last week.
  • Currently working on more telemetry probes in the awesomebar and search bar.

Sync / Firefox Accounts

Test Pilot

  • Try some new experiments!
    • Launched last week: Snooze Tabs and Pulse
    • Launching tomorrow (Wednesday): Containers
      • Containers are currently in Nightly. Test Pilot is being used to measure engagement and iterate on the UI. Read more about the goals and plans here.
  • Page Shot in FF 54
    • Page Shot will now be a bootstrapped addon + embedded WebExtension, and will ship as a system addon. Read more details here.
    • Questions/comments? #pageshot on IRC. (We’re working on creating a mailing list / Discourse group for the Page Shot transition into Firefox. Link to be added async)
  • Please submit your ideas for new Firefox features!
    • We’ve simplified our Test Pilot experiment proposal form. Learn more.

This week I learned

  • [paolo] I’ve learned from :rexboy that you can use “animation-play-state: paused;” and a negative “animation-delay” controlled from JavaScript to show a specific frame of a CSS animation. This was useful for the new download progress indicator to control height and brightness at the same time.
  • [felipe] Prefs.reset() might not work as you expect if you’re using defaultPrefs:
let prefs = new Preferences();
prefs.set(“foobar”, true);
prefs.reset(“foobar”); // this is fine

let prefs = new Preferences({defaultBranch: true});
prefs.set(“foobar”, true);
prefs.reset(“foobar”); // this doesn’t work 😱
  • [mconley] We bought Pocket