Firefox/Meeting/10-Sep-2019
Today’s meeting leader is: k88hudson
General Topics / Roundtable
- None
Friends of the Firefox team
Introductions/Shout-Outs
Resolved bugs (excluding employees)
Fixed more than one bug
- :Matthias Kammüller
- Chris Muldoon
- Florens Verschelde :fvsch
- Heng Yeow (:tanhengyeow)
- Itiel
- Krishnal Ciccolella
- Maliha Islam [:mislam]
- Megan Bailey
- Myeongjun Go
- Nils Maier [:nmaier]
New contributors (🌟 = first patch)
- Alex R. made it so that shift-clicking on a column log or conditional breakpoint in the JS Debugger disables it, rather than removing it
- Chris Muldoon fixed a visual glitch in the DevTools Inspector where long element descriptors would overlap with some icons, and also fixed some contrast in the JS Debugger when paused on an exception
- Megan Bailey made it so that the connection and device type dropdowns in Responsive Design Mode are wide enough to not truncate any of the options, and made the experience smoother when adding a new custom device to Responsive Design Mode.
- Myeongjun Go made it so that WebExtension listeners registered on browser.notifications.onClicked only get called with a single argument, as per the documentation. Myeongjun also made unexpected properties in a WebExtension manifest result in a warning message rather than an error message.
- Olga Bulat made it so that choosing to remove all breakpoints in the JS Debugger also removes pending breakpoints
- Stanislav Goncharov made it so that copying as cURL in the Network Monitor gives the option to copy with POSIX or Windows escaping
- Krishnal Ciccolella improved the readability of the Inactive CSS tooltip when using a dark theme, and also improved the alignment of the items in the Responsive Design Mode toolbar
- Svitlana Honcharuk (:sviho) expanded the test coverage of some of our tracking protection code to cover private browsing windows as well
Project Updates
Add-ons / Web Extensions
- Mark moved the extension shortcuts management view into the HTML about:addons views, one further step in the direction of ripping-off the remaining pieces of old XUL views \o/
- Jan Henning fixed a regression related to the “WebExtensions static themes” background image loading on Firefox for Android
- Tomislav fixed a bug in the tabs.query API method that was preventing extensions with the tabs permission from querying tabs with an “about:blank” url
- Paul Zühlcke made sure that Firefox logs a warning message when an addon installation is blocked due to full-screen
- Luca fixed an accessibility issue related to a missing aria-label on the devtools panels registered by the extensions
- Nils Maier (DownThemAll! author) fixed some chrome-compatibility issues in the downloads API (Bug 1576333 and Bug 1579850). Thanks Nils!
- Itiel fixed a couple of RTL-related bugs on the HTML about:addons views (fixed positioning of the contribute button and forced the LTR mode on the extensions homepage urls). Thanks Itiel for your contributions!
- Myeongjun Go contributed a fix to the browser.notifications.onClicked API event (which was receiving an erroneous second parameter) and made sure that the messages logged for the deprecated API properties are logged as warnings.Thanks Myeongjun Go for fixing these two long-standing bugs!
Applications
Firefox Accounts
Sync and Storage
Push
Browser Architecture
New arewefluentyet.com! (Kudos - Eric Pang!)
Three Milestones
Developer Tools
Inspector:
Color swatches now appear next to custom properties (ie. CSS variables) that appear to be valid colors! (bug)
Less frustration: fixed Bug 1543782 - After deleting a value in Rules, show autocomplete popup as long as the user has the field focused
Console
Removed CSS Warnings “CSSOM” message that was confusing for people — Bug 1574791
Only evaluate selected text in console (on the way to Scratchpad parity) — Bug 1576563
Fission related:
Many improvements on Multi-target Browser Console / Browser Toolbox Console
Almost everything is working but
- Jump from logged content node to the inspector
- “Jump to definition” icon not showing up when logging content function (WIP to fix this)
Responsive design mode
Changes to better match the behavior of Chrome devtools:
- Landed Bug 1575097 to make screen.width and window.outerWidth report the simulated screen.
- Landed Bug 1572840 to make RDM pane scale up/down with changes to page full zoom.
Application Panel - starting to take shape!
Accessibility
Maliha landed the visual impairment simulations — Bug 1564999 (needs webrender to be enabled)
- If you fancy retweeting → https://twitter.com/FirefoxDevTools/status/1169976342164758528
- If you fancy retweeting → https://twitter.com/FirefoxDevTools/status/1169976342164758528
Fission
- DOM fission team in work week
- Emma finished page info
- Working on porting BrowserTestUtils. Changing the syntax of synthesizeMouse/Touch to allow browsingContexts to be supplied. Existing syntax of passing an array of selectors is being removed in favour of passing the correct browsingContext.
Lint
- Previously mentioned ESLint 6.2.2 upgrade has landed, bringing BigInt support.
- Work continues for enabling more rules on image/ and dom/
- Sylvestre added checks for file permissions (any source file)
- Sylvestre also added checks for trailing whitespace and windows file returns in Rust, C++ and Python files.
Monika landed the code for a new rule to remove > 0 and == 0 comparison checks against .length
We're hoping to roll this out to toolkit/ and browser/ soon.
New Tab Page
Our Discovery Stream changes rollout should start today (September 10th).
Main changes are remote configuration.
More control over how where and when we add sponsored Pocket content.
We also have a new backend for sponsored content that goes out with the rollout, it adds better authoring tools for content creation and management.
For 71, we have a focus on
Updates to sponsored content dismissal flow. There are small cases where dismissal isn’t quite where we went. Goal is this would reduce overall sponsored content the user sees, but reduce sponsored content opt outs.
Some UI and UX updates to cards and promos.
Password Manager
- Working on import of logins from Chrome on macOS
- The enter key now works as expected in the password manager doorhanger when focused in the username/password fields.
- Figuring out scope of Fx71 work after Skyline polish.
-
The initial version rode the train to Beta with Nightly sign-off from QA.
-
Rode the train to Beta with Nightly sign-off from QA. All P1 bugs fixed. Fixing P2 bugs.
Performance
- A new Talos test was added to measure warm startup time when 5 real-world WebExtensions are installed in the user profile
The Firefox Monitor system add-on was merged in as a normal browser component
This helps reduce work that the AddonManager does during startup
- More main-thread IO was removed from the startup path
- dthayer has a prototype that launches the first content process much earlier, and renders a static Activity Stream page. Initial measurements look compelling, so investigating how to proceed.
dthayer landed a patch that has greatly reduced the number of short tab switch spinners that clients are reporting on Nightly
This graph measures how many Nightly clients experience at least one tab switch spinners, so lower is better. The big drop at the end of the graph is after dthayer’s patch landed.
emalysz
Is working on making nsSystemInfo cheaper to initialize by making some of its getters lazier
Has a patch up to move loading PushComponents.js out of the startup path
Is working on reducing sandbox policy creation overhead when launching content processes
- Gijs is working on making plugin initialization cheaper, now that we only support Flash, and it’s click-to-activate by default
- mconley has been helping to consult performance-wise on the Firefox Private Network Beta add-on
Performance Tools
- The base profiler is finally enabled on Windows, to capture the beginning of startup. Example of a cold startup profile captured on the 2017 quantum reference hardware: https://perfht.ml/2ZWxVwl
We have ongoing work progressing well about:
visualizing statistics about the overhead caused by the profiler during a profile
collecting native memory allocation stacks
visualizing JS tracer data
reducing the cost of profiler markers by making them allocation-free.
Picture-in-Picture
- Current plan of record is to ship to release channel users on Windows in Firefox 71
Fixed:
Waiting on review:
Policy Engine
Privacy/Security
Search:
- Work continues on search engine for private browsing and search configuration modernization
Address Bar:
Regression fixes:
some accessibility problems in the new one-off buttons design
- Work ongoing on the “megabar” redesign
- Work ongoing on Search Interventions experiment
User Journey
- So far 69 release messages have launched successfully, we’re getting some early data back for extended triplets
- For 71, we’re working on more experiments first run, some new CFRs, better prioritization and mapping of messages to user preferences, figuring out some baseline performance tests
- newtab/messaging unit-test runs now in try/treeherder; about to be moved to Tier 1, needinfo? :dmosedale if you have issues.