From MozillaWiki
Jump to: navigation, search

Today’s meeting leader is: RyanVM

General Topics / Roundtable

Friends of the Firefox team

(Give a shoutout/thanks to people for helping fix and test bugs. Introductions)

Project Updates


Activity Stream

Browser Architecture

  • XUL Template feature has been removed (thanks Gijs).
  • Metabug filed for removing XUL overlays.
  • XBL replacement has continued to make good progress. Expect a newsletter update soon.
    • Bindings removed since last meeting: tabbrowser-close-tab-button, toolbarbutton-image, datetimepicker-base, timepicker, datepicker, datepicker-grid, datepicker-popup, timed-textbox, addengine-icon, expander, preferences, preference, prefwindow, prefpane, panebutton, dialogheader, optionsDialog, stringbundleset - Thanks to Dão, Ian Moody, ntim, Paolo, 86ecce74, and Myk!

Firefox Core Engineering

  • Crash machinery:
    • The last piece of crash ping support (bringing the crash ping to Fennec) will be done within the month. Follow along here.
    • Note: if you are sad about the loss of signatures from crash-stats purge, know that we do have crash info and stacks back through 55 which could be symbolicated and signaturized for analysis/trend if desired. (Not as deep as crash-stats, but… there)
  • Migration performance improvements:
    • Doug Thayer has landed several performance improvements to migration in 59 (as he did in 58). Too many to list, so check them out.
  • Update Agent:
    • Will allow for checking for and downloading of updates async from Firefox.
    • Was originally slated for incremental release, but has been changed to release as a complete feature, targeted for 62.
    • Tracking meta bug is 1343669.
  • Installer:
    • Rename of Windows shortcut (first attempted for 57) from “Mozilla Firefox” to just “Firefox” landed in beta 58 (bringing Windows in line with Mac and Linux).
  • Enterprise Policies Engine:

Form Autofill

  • V2 features were complete and got Pre-Beta sign off (yellow).
  • The edit dialog of Address Autofill in Preferences now is able to change the layout according to the selected country.
  • Implemented a summary in the update doorhanger to let users know which profile will be updated.
  • Slightly refactored the core modules for better supporting sections.
  • Fixed some issues of Clear Form button caused by the cache mechanism in the autocomplete module.
  • Fixed a few RTL issues
  • Fixed a lot of website compatible issues




Platform Audibles

  • Heads up: xidorn has made it possible to detect / condition on bool prefs inside chrome stylesheets!
    • Example: @supports -moz-bool-pref("") { /* CSS */ }
    • [MattN] Note that the pref value is static, not live.
      • [Gijs] My understanding is that we’d probably want to use a pref cache anyway (for performance), which would partially solve this (other part would be pref changes triggering style “dirty” marking so it gets re-checked in the next style flush).
  • <script type="module"> has been enabled in Nightly builds.
    • [Gijs] Quick question: do we know if we should hold off on using this in chrome code?
      • [mconley] Yes, I think we should hold off until this rides the trains. And maybe until this ships to release.


Search and Navigation

Address Bar & Search


Sync / Firefox Accounts

Test Pilot

  • No updates this week.

Web Payments

  • Landed our multiline rich-select custom element that will be used for the address selector as well as the basic-card selector.
  • Initial bug breakdown completed. Another pass will be done upon a pending UX spec update.
  • In the process of hooking up the selectors to the form autofill data.
  • In the process of displaying the line items.

This week I learned

  • [Standard8] Mach can give you bugzilla component info:
$ ./mach file-info bugzilla-component browser/config/version.txt
Core :: Build Config
  • [jaws] The :scope pseudo class allows you to reference the element that is being queried from element.querySelector*, for example:
<box id="foo">
  <box class="bar"></box> // ← A
  <box class="baz">
    <box class="bar"></box> // ← B
let foo = document.getElementById("foo");
let bar = foo.querySelectorAll(":scope > .bar"); // selects A above but not B