Firefox/Meeting/4-Jun-2019
Today’s meeting leader is: mikedeboer
Contents
- 1 General Topics / Roundtable
- 2 Friends of the Firefox team
- 3 Project Updates
- 3.1 Add-ons / Web Extensions
- 3.2 Applications
- 3.3 Firefox Accounts
- 3.4 Lockwise
- 3.5 Sync and Storage
- 3.6 Push
- 3.7 Browser Architecture
- 3.8 Developer Tools
- 3.9 Layout Tools
- 3.10 Console
- 3.11 Debugger
- 3.12 Remote Debugging
- 3.13 Fission
- 3.14 Lint
- 3.15 Password Manager
- 3.16 Performance
- 3.17 Performance tools
- 3.18 Picture-in-Picture
- 3.19 Policy Engine
- 3.20 Privacy/Security
- 3.21 Search and Navigation
- 3.22 User Journey (formerly Activity Stream)
General Topics / Roundtable
- [mconley] ContentDOMReference vs CPOWs
- [standard8, not on call] There's now a new `--verbose-if-fails` option for outputting the log of an xpcshell-test if it fails when being run in parallel.
[mikedeboer] Whistler dinner signup sheet
Not much time left, please sign up now!
Friends of the Firefox team
Introductions/Shout-Outs
- More interns!
Harry Twyford (re-)joined us since Monday
Thanks to him we’ve got a working TouchBar on Mac OSX ;-)
Resolved bugs (excluding employees)
Fixed more than one bug
- Florens Verschelde :fvsch
- Kestrel
- Tim Nguyen :ntim
New contributors (🌟 = first patch)
Project Updates
Add-ons / Web Extensions
- The proxy.onRequest bugfix where it was only matching http/https was taken in 68
- Luca fixed a bug wherein WebExtension storage permissions were requested on exit even when Firefox is set to “clear history on exit” in 69
about:addons fixes goes to HTML
Mark Striemer made some fixes in 69 (including inline preferences, which existed in XUL)
(he also fixed a bug in 68 where you couldn’t actually change Flash plugin settings)
Luca made it so that sideloaded extensions which are enabled in about:addons show the permissions prompt (like in the XUL version)
- Rob Wu ensured that hidden extensions without shortcuts (like search engines) aren’t shown in the Manage Shortcuts section in 68 (but that system add-ons with shortcuts are shown there starting in 69)
- Rob also continues the slog on async shutdown
- Kris Maglione made the default theme appear in the add-ons section on Fennec
- API notice: userScripts API is now enabled by default in 69
Applications
Firefox Accounts
Lockwise
The Lockwise desktop extension has shipped today!
New development will be done in m-c
Sync and Storage
Push
Browser Architecture
XUL/XBL:
Newsletter: XUL/XBL Replacement Newsletter #14
browser.xhtml shipped
XBL on track. `<tabs>` / `<wizard>` / `<dialog>` are in flight. Ongoing projects that will remove more bindings due to replacing old UI: new about:addons, QuantumBar, new updater UI.
Upcoming: XUL box object removal, XUL document burndown, XUL flexbox emulation attribute reading.
Developer Tools
Cheerful note: lots of praise for Firefox & Firefox DevTools at last week’s CSSConf EU --- Thanks to everyone who made this happen!
https://i.imgur.com/h0ND3BA.png (composite by Harald, thanks!)
Alt text = composite image of tweets praising Firefox & DevTools
Some tweets:
- https://twitter.com/TejasKumar_/status/1134406386140569601?s=20
- https://twitter.com/pnodev/status/1134406263868014592?s=20
- https://twitter.com/mor10/status/1134406103629029376?s=20
- https://twitter.com/shay_nanigans/status/1134406007864614914?s=20
Layout Tools
RDM now has the ability to simulate screen orientation change for the inspected page when you rotate the viewport.
Lots of bug fixes
- A bug has been fixed where typeaheadfind was inadvertently triggered when typing in input fields; this fixed two other input-related bugs while in RDM.
- Fixes for better reporting of screen/window dimensions and more correct handling of meta viewport tags.
- Inactive CSS: shipping in 69! the Rules panel warns you about things such as misused vertical-align and is about to get updated tooltips conforming to Photon design system.
https://i.imgur.com/7qooaEv.png alt text = screenshot depicting inactive css tool warning the developer that a CSS rule has no effect and why
- WebCompat Diagnosis Tooling: new prototype with DevTools sidebar panel to show compatibility issues and MDN compatibility data for CSS properties. Investigating the complexity of making a Lighthouse plugin for use in Chrome and other consumers.
https://i.imgur.com/NftU9gG.png (alt text = screenshot of webcompat diagnosis tool prototype, showing a list of web compatibility issues detected on the current website on the developer tools
- The color-picker just got a bit of a re-design. Bug 1478152. Thanks Maliha Islam [:maliha] and Micah for pushing this over the edge!
https://i.imgur.com/U4xHuCN.png alt text = screenshot of redesigned color picker
Console
Console grouping MVP complete (to enable it, go to DevTools settings, Console and tick ‘Group similar messages’)
https://i.imgur.com/E8P5UOE.png
(alt text = screenshot of DevTools console displaying an uncollapsed group of similar messages)
- You can also resend requests from the console - implemented by Christoph Walcher — Bug 1530138 -- To test it, right click on the request and select ‘Resend request’
- Show error count in toolbox by Hemakshi — Bug 1109362
Debugger
- Beginning work on DOM Mutation breakpoints
- Event breakpoints work is also progressing
Remote Debugging
- "Enable addon debugging" checkbox is gone, addon debugging "just works" now!
- The new about:debugging is now disabled on Beta 68, still enabled in DevEdition 68 and Nightly 69. Should ride the trains with 69
Fission
Lint
- (no voice update)
Working towards enabling ESLint everywhere, Standard8 has enabled it on more directories, but disabled the failing rules. As a result, we get at least basic syntax checking and some limited rule coverage. Enabling the remaining rules will come as follow-up mentored bugs.
Enabled top-level directories (last two weeks): extensions/permissions, extensions/spellcheck, extensions/universalchardet, image, startupcache, netwerk and layout
- dom/ will still be enabled on a per-subdirectory basis until we get further towards completing it. dom/flex and dom/grid have just been enabled.
Password Manager
New Management UI (set signon.management.page.enabled=true in about:config to test)
- Subdomain support has landed (in time for the All Hands Sched 👍) giving much easier access to logins on related origins. Improved sorting is on the way.
Password Generation (see prefs in the bug)
Performance
- The Process Priority Manager is now default-enabled on Windows. This should make background tabs get fewer CPU slices while backgrounded, improving responsiveness.
- There is now a test that checks for sync IPC messages during startup, to discourage adding new ones.
- The instrumentation runs of our PGO builds now run under e10s.
- Eric Smyth is getting signoffs and a plan in place to switch the blocklist over to use Remote Settings as a backend.
Various main-thread IO fixes landed:
Work continues on:
Document splitting - to improve how the browser window is represented to the graphics pipeline
Improving omni.ja and startup cache compression - to reduce runtime overhead for reading/writing those
Performance tools
- Sped up the marker table by memoizing the tree.
- Implemented context menu for the marker chart.
New context menu in marker chart (https://i.imgur.com/sIBUzVY.png)
- We are removing the Gecko Profiler Add-on, and integrating directly with Firefox. The code has landed in Firefox but it's not been heavily tested yet. You can try and give us feedback if you want! This will move use closer to being the default profiler in DevTools.
290x359px
Enable it in Tools > Web Developer > Enable Profiler Toolbar Icon (https://i.imgur.com/Yf0fCZF.png)
270x128px
New integrated profiler icon and panel (https://i.imgur.com/KU3YKie.png)
- New “base profiler” will land soon. That will help users to profile early stage of Firefox startup before libxul. Here's an example profile of what happens during startup before loading libxul: https://perfht.ml/2Z4myCB
- We are going to run a Profiling Workshop and have a demo booth for profiler in Whistler All Hands. Workshop will be in Fairmont, Macdonald C. If you are interested in profiling, join us!
Picture-in-Picture
Policy Engine
- Just bug fixes and trying to track down intermittents.
Privacy/Security
- New Protection Panel is getting a tracking protection toggle switch this week
- Protections panel will now be triggered with meta(cmd)+click
- about:protections landed - placeholder for now. RPM handler is set up, more coming soon.
- Johann added a way to sync the content blocking log to the parent process
Search:
- Worked on a few regressions and some new tests
- Designing a new search engines configuration format to replace list.json
Quantum Bar:
Fixed a few new regressions
Will ship with Firefox 68
- Added the first WebExtension API for future experiments
User Journey (formerly Activity Stream)
- We have a new name!
Launched the Trailhead onboarding experience this morning. 9 different experiment branches are live!
- Working on extending messaging to support and coordinate different Skyline initiatives
Better integration with the rest of mozilla-central
Easier direct-from-m-c development and works with ./mach lint
Improving accessibility and localization (switch to fluent)