Highlights
- We’re moving to profile-per-install, starting in Firefox 67!
- WebExtensions’ keyboard shortcuts can now be managed / overridden from about:addons as of Firefox 66
- There’s a new WebExtension browser.tabs API for changing the order in which tabs are focused
- The DevTools console now lets you invoke getters from the console (check out this demo). Slated to ship in Firefox 65!
- The Milestone 1 version of the long-requested CSS track changes feature is slated to ship in Firefox 65!
- Firefox Color now exports static themes ready for submission to AMO
- A new about:debugging is being worked on. Nightly users can check out about:debugging-new right now for a preview.
- As of this writing, we’re down to 27% of the original set of XBL bindings! We aim to eliminate XBL in Firefox entirely this year.
- We added some new improvements to our content blocking UI, including a new cookies subpanel in the site identity popup:
- Baku and Johann eliminated some Evil Traps with malicious use of window.open() in a loop!
- After 3 years of valuable service, Test Pilot is riding off into the sunset! More info here.
Friends of the Firefox team
Introductions
- New Student Project: Fluent Migrations (watch out for email)
Resolved bugs (excluding employees)
- Fixed more than one bug
- Florens Verschelde [:fvsch]
- Tim Nguyen :ntim
- New contributors (🌟 = first patch)
- 🌟 andrewc.goupil simplified how we use media queries in our front-end CSS
- TomS [:toms] fixed a focus indicator glitch in about:addons
- 🌟 hereissophie simplified the code that we use to send users to SUMO from the Accessibility Indicator
- Adrian Kaczmarek switched a bunch of #main-window use to :root in our front-end CSS
- 🌟 Irvin Ives Lau swapped out some old PNGs from our theme with a shiny new SVG
- rishabhjairath replaced some querySelector uses with a more direct getElementById
- 🌟 P Kausthubh S fixed RTL support in the theme selector in Customize Mode
- Toby Ward made sure that browser.tabs.warnOnOpen is respected when opening multiple items from the Library
- 🌟 haotian xiang made sure our “Learn more” links in about:preferences are in sentence case (“Learn more” instead of “Learn More”)
- 🌟 dhyey35 removed some dead code from the all_files_referenced test
- 🌟 edward.i.wu got rid of a spurious console warning when running a WebExtension with background.persistent set to true
- 🌟 John Lin removed some unused rules from our global.css files
- 🌟 Kaio Augusto de Camargo made it so that we don’t log a warning if referencing an expired Telemetry scalar probe
- 🌟 matthewacha removed “use strict”; from one of our ES6 modules – those are running in strict mode by default.
- 🌟 mattheww improved the performance when loading breakpoints in the debugger for a page with many scripts!
Project Updates
Add-ons / Web Extensions
- Ongoing work on:
- User opt-in for extensions in private browsing windows
- Rebuilding about:addons in HTML
- Old Lightweight Themes (LWTs) on addons.mozilla.org will be converted to XPI packaged themes next week
Browser Architecture
- `<xul:browser>` has been converted to a Custom Element (source)
- Other XBL binding removals since last meeting: `scrollbox`, `popup-scrollbars`, `numberbox`, `tabmodalprompt`, `richlistbox`, `autocomplete-richlistbox`, `categories-list`, `arrowscrollbox-clicktoscroll`, `datetime-popup`, `download-subview-toolbarbutton`
Developer Tools
Huge shoutout to debugger community for all of their work during the winter break!
Console
- Autocomplete custom properties on Array, Number and String literals
- Export to Clipboard landed thanks to Jefry Lagrange
Debugger
- Major cleanup pass done to remove old unused source-map logic debugger actors
- Mouse selection when debugger is paused fixed
- Fixed “Nested event loops do not suspend scroll events”
- Search within files is now cancelable
- Worker debugging is coming! Enable devtools.debugger.features.windowless-workers to try it out
- All of the debugger’s worker, packages, and css sources are in MC
Layout Tools
- Polishing recently shipped features: Flexbox Inspector and Changes Panel
- Alert()/prompt()/confirm() work again in RDM
Remote Debugging
- Landed: Support several USB runtimes simultaneously
- Landed: Show USB devices before Firefox is ready
- Landed: Disabling service worker debugging if multie10s is true
- Landed: Stopping ADB when you close about:debugging
- Soon: Worker support for remote devices
- Current target Fx68 for preffing new about:debugging on
Fission Support
Other
Fluent
- New student project started up last week. Goals are:
- convert more strings to Fluent
- increase tool support
- research porting the fluent-rs parser to wasm and replacing the JS Fluent parser with the wasm fluent-rs parser
Lint
- Work continues on enabling ESLint for more DOM directories and other core directories.
Performance
- In Q1 we are focusing our efforts on startup performance. This time we’ll care both about first paint performance (which already received optimization efforts previously and is close to parity with Chrome) and the time to render the home page.
- Doug landed his document splitting work that should enable faster rendering and is investigating creating a warmup service to preload Firefox files when the OS starts.
- Felipe’s tab animation patch is going through review.
- The code of the old about:performance is gone (both front-end and back-end pieces) and some test coverage was added.
- Gijs continued his browser adjustment work (adding telemetry and about:support visibility), improved Pocket’s startup behavior, and removed some more Feed code.
- mconley is unblocking enabling the background process priority manager, by removing the HAL stuff that was leftover from FxOS.
- Perf.html improvements deployed recently:
- Tooltips in the thread activity graph indicating the meaning of colors (most frequent request we got during the all-hands!)
- Memory track
- Category colors in the stack chart
- Tooltips in the thread activity graph indicating the meaning of colors (most frequent request we got during the all-hands!)
Privacy/Security
- We’re eliminating some interesting performance regressions from enabling cookie restrictions by default.
- Erica is working on another Shield study on content blocking breakage
- Baku refactored some of URL-Classifier to prepare it for future endeavors, including a neat new way to manually classify URLs on about:url-classifier
Search and Navigation
Search
- Work continues on switching built-in search engines to WebExtensions, intention to land after the next merge
- Hand-off from content to address bar in preparation for Private Browsing search
Quantum Bar
- Implemented switch-to-tab with mouse and keyboard
- Increased results size in touch mode
- Reimplemented performance telemetry
- Implementing results removal (through history) from the dropdown
- Cleaned up various pointless attributes and functionality from the urlbar bindings
- Implemented UrlbarInput::handleRevert and Escape key handling
- Implemented typeRestrictToken
- Results are now consistent with the legacy address bar
- Fixed handling of non-url entries
Places
- Places will now properly replace corrupt databases on startup
Jan wrote on
Gabriel wrote on
Thomas wrote on