Firefox/Meeting/23-Apr-2019
Today’s meeting leader is: RyanVM
Contents
- 1 General Topics / Roundtable
- 2 Friends of the Firefox team
- 3 Project Updates
- 3.1 Activity Stream
- 3.2 Add-ons / Web Extensions
- 3.3 Applications
- 3.4 Screenshots
- 3.5 Lockbox
- 3.6 Firefox Accounts
- 3.7 Sync
- 3.8 Push
- 3.9 Browser Architecture
- 3.10 Developer Tools
- 3.11 Fission
- 3.12 Lint
- 3.13 Password Manager
- 3.14 Performance
- 3.15 Performance tools
- 3.16 Picture-in-Picture
- 3.17 Policy Engine
- 3.18 Privacy/Security
- 3.19 Search and Navigation
- 3.20 Search
- 3.21 Quantum Bar
- 3.22 User Experience
- 4 This week I learned
General Topics / Roundtable
- [RyanVM] More meeting leaders needed. Good growth opportunity for junior people on your team!
- [MattN for bgrins] add_task is now part of SimpleTest.js so there is no need to reference AddTask.js from mochitest-(plain|chrome) anymore.
- [MattN for bgrins] `./mach addtest` has landed and creates a test from a (recently cleaned up) template appropriate for the suite/flavour based on the filename. It can also open your editor with the new file and soon it will be able to add the test to your VCS.
Friends of the Firefox team
Introductions/Shout-Outs
- [MattN] Thanks to Prathiksha for all her contributions on the password manager team, especially on highlighting autofilled values and the autocomplete footer. We wish her luck on the privacy/security team for the remainder of her internship.
- This is Felipe’s last week at Mozilla after more than 10 years as a Mozillian! Thanks for all your contributions and best wishes in your future endeavours.
Resolved bugs (excluding employees)
Fixed more than one bug
- Arpit Bharti [:arpit73]
- Damien
- Florens Verschelde :fvsch
- Gary Chen [:xeonchen]
- jaril
- Kestrel
- Nidhi Kumari
- Oriol Brufau [:Oriol]
- Richard Marti (:Paenglab)
- Syeda Asra Arshia Qadri [:aqadri]
- Tim Nguyen :ntim
New contributors (🌟 = first patch)
- 🌟 Arpit Bharti [:arpit73] got rid of the deprecated getBrowser function, got rid of some dead Telemetry code, and updated some of our CSS to use :root rather than #main-window!
- Avery Berninger fixed some broken RTL CSS for about:telemetry
- Chujun Lu fixed a bug where the DevTools Debugger Find Bar would skip every other match
- 🌟 Damien fixed a visual glitch in about:url-classifier and updated some of our CSS to use :root rather than #main-window!
- 🌟 Mrigank Krishan added "Use in console" & "Copy as Fetch" context menu entries to Network resources
- Chris Frey [:nautilus] converted panelUI.inc.xul to Fluent
- 🌟 jaril made it so that we show the Active Breakpoints state in the Debugger breakpoint list, and polished up some CSS in the Debugger’s Watch Expression pane!
- lloan:[lloanalas] added a probe to measure usage of the Persist Log feature in the DevTools Console
- 🌟 mariahajmal removed some dead code from our Identity Panel tests
- 🌟 nagpalm7 brought the Threads pane in the Debugger more in-line with the UI spec
- Nicholas Cowles moved our Customize Mode strings over to Fluent
- Nidhi Kumari added a pref that adds more fine-grained control over how many times the Tracking Protection doorhanger is displayed, and got rid of some bogus CSS from about:license
- Derek fixed a glitch where one of the Debugger buttons was toggling the wrong panel in vertical mode
- trushita removed an old, expired Telemetry probe
- Laphets [:Laphets] made it so that when you double-click on an item in the Network Monitor, it’ll perform the request again in a new tab
Project Updates
Activity Stream
Working on adding a new type of snippet that shows up below the search field
More work on improving the experience of the new Pocket Newtab
Landed a local layout to improve startup time
Lazy loading images
Add-ons / Web Extensions
- (Not really our fix, but FYI LastPass users: LastPass fixed an issue in their extension that caused a bunch of latency. Thank you Mark Nakib! Dev outreach ftw.)
- browser.identity.launchWebAuthFlow no longer hangs after authentication due to a POST with a 303 (uplifted to 67).
- Built-in opensearch files have been converted to web extensions in 68.
- We’ve started the deprecation process (three releases) in 68 for browser.proxy.(register|unregister|onProxyError).
- We <3 permanent private browsing mode, and took another patch in 67 for supporting homepage overrides. Hmph.
- Myk fixed a recent broken default theme check.
- JanH fixed a 2-year-old bug on Fennec wherein add-ons weren’t working on the first tab (because of tab numbering starting at 0 vs 1).
- Rob fixed a 3-year-old bug (that he filed) where SwapDocShells was firing twice.
- Shane fixed the 8-year-old “Firefox prevented this site (site) from asking you to install software on your computer” doorhanger wording; it has been changed to “You are attempting to install an add-on from {site}. Make sure you trust this site before continuing.” (or something equally intelligible and appropriate)
On track for 68:
HTML about:addons
abuse reporting from about:addons
Applications
Screenshots
- No updates this week.
Lockbox
- Working with the desktop team to move the management UI into Firefox.
Firefox Accounts
Sync
Push
Browser Architecture
- No updates this week.
Developer Tools
New CSS debugging feature coming up soon (likely with Firefox 69): Inactive CSS. This will be tremendously helpful to know when certain CSS declarations don't have the desired effect and why (join the fun on twitter, bugzilla, demo).
- Adopting Prettier on the DevTools codebase (as a pilot before potentially applying it to more of m-c). This way, we'd have auto-formatting like on C++ code! RFC conversation is here.
Continued Rock-solid & Fast Debugging™ work and polishing features landed in 67 and 68 (Worker Debugging, Logpoints, Column Breakpoints)
Added highlight DOM nodes in the page from the scope/watch pane and popup
Fixed logging variables from workers while being paused
Show stacks for uncaught exceptions in workers
- Paused indicator and reason in Debugger is more visible! (Issue 8163, derek-li)
602x130px
Screenshot - The Debugger team is showing their GitHub contributors what it's like to contribute to m-c via phabricator and bugzilla directly. Transitioned roughly 12 GitHubbers – really excited about this number!
- Print emulation landed in Inspector – timely before Earth Day to save the trees 🌲!
- Reducing some noise, the Browser Console will provide the option to hide content messages (behind devtools.browserconsole.filterContentMessages). Bu 1260877.
- We're also adding a way to list all of the elements impacted by a CSS warning in the console. When one of those CSS parser warnings occur inside a rule, the console will find this rule's selector and let users log the matching elements (bug, demo).
- Wield more filter power in the Console with the support of regular expressions (bug 1441079, Hemakshi Sachdev [:hemakshis] 🎉)
- "Race Cache With Network" status is shown for resources in the Network panel (Bug 1358038, Heng Yeow :tanhengyeow)
Continued improvements to Responsive Design Mode
Ability to edit custom devices
Fixed to the way zooming is passed down to the RDM content
The way hover events are handled while touch simulation is on
Ongoing work on emulating touch gestures
- Edit an existing request and to run some JS on the response is powerful. Requests can now be formatted in fetch format (in addition to CURL). The created fetch command can also quickly used in the Console. (Bug 1540054, Mrigank Krishan 🌟)
580x384px
Screenshot The new Remote Debugging page is ON (about:debugging). WebIDE and the connect page is slotted for removal. All Debug Targets can be inspected with about:devtools-toolbox.
602x34px
ScreenshotLatest features: unplugged USB devices remain in the sidebar as "Unplugged" (bug, screenshot), remote debugging toolboxes show nicer headers with icons depending on what your remote target is (bug, example), and the same tab is reused when you connect again to the same target (bug).
- Specific resources can be blocked in the network monitor – contributed by the renowned :jryans (bug 1151368) – and the first step to have a fully-fledged resource blocking feature
602x90px
Screenshot
Fission
- Heads up - TabParent/TabChild are likely to be renamed to BrowserParent / BrowserChild.
- An API has been added that makes it easier to send a message through the new JS Window Actors that returns a Promise and can then resolve with an async response from the child. Check this test for an example.
mconley has the beginnings of a “crashed subframe” UI
- Caption: A subframe showing a sad tab icon, indicating that it crashed
Lint
- No updates this week.
Password Manager
- New upcoming priorities are integrating the new management UI from Lockbox and adding password generation. Breakdowns for both of these projects are underway.
Resolved highlights
In Progress
[sfoster] Don't include single-character usernames in the save password prompt
[jaws] Password manager should support subdomains with the same password
[prathiksha] Only prompt to save logins if a login field was modified by the user
[MattN] More improvements to ensure we prompt to save on login forms
Performance
- dthayer changed how we load DLLs on Windows. This has resulted in some pretty exciting start-up performance wins, not only in Talos, but being reported by real users via Telemetry as well!
- dthayer is looking at how compressing omni.ja with lz4 could improve start-up times
- florian has a main-thread IO start-up test in the works here. The team is using the whitelist generated for that test to track main-thread IO during startup, and start reducing this where possible.
- We’re currently running an experiment to test the process priority manager on a subset of our Beta population to see how it impacts page load performance and responsiveness. Experiment ends next Monday.
- We’re adding a Telemetry probe to detect pings that come from cold start-ups (the first start-up of Firefox that occurs after an OS start-up)
- We’ve detected a first paint regression on Windows starting around April 16th, and have begun investigation
- Gijs got rid of some disk activity that searches for a file that hasn’t existed in about 6 years
Performance tools
- Big deploy last week!
- We show larger screenshots while hovering the screenshots track now.
An example of a larger screenshot after hovering a screenshots track
- New PII sanitization workflow deployed.
New profile publish panel with different data to include/filter out from profile (e.g. hidden threads, hidden time range, screenshots resource URLs and extensions)
- Landed splitter for the timeline and detail view. 🎉🎉🎉🎉
602x324px
Demonstration of splitter
Landed some network panel & tooltip improvements
More accessible colors
More accurate timing information
Graphs for different phases in tooltips
MIME types in tooltips
504x237px
New look of network toolbar with different phases and MIME type
Picture-in-Picture
User Initiated Picture-in-Picture has been enabled by default on Nightly on Windows
- Caption: A YouTube video with the Picture-in-Picture toggle being displayed over top of it.
- See some bugs? Please file them against this metabug
Top reported issues we hope to fix this week:
Policy Engine
- Expanded sanitize shutdown policy.
- New extension policy up for review
- Triaging preferences to add to new preference policy
- Adding support for local file links
- Looking for other folks that want to understand how the policy stuff works and help with reviews especially.
Privacy/Security
- Prathiksha has started her internship working on streamlining the way we do message passing between about: pages and privileged code, and particularly on about:certerror.
- Firefox Monitor now pref’d on in Nightly, pending bug 1544875.
- We are now showing an icon in the identity block when a permission prompt got automatically denied by the browser (e.g. because it was lacking user interaction).
Cryptomining and Fingerprinting protections were enabled in Nightly by default in both Standard and Strict content blocking modes.
Please file breakage against https://bugzilla.mozilla.org/show_bug.cgi?id=1527013 and https://bugzilla.mozilla.org/show_bug.cgi?id=1527015
Search
- Fixing a few regressions from the switch to search engines as WebExtensions
- Continued working on better[1]test coverage for search engine configurations across locales/regions.
Quantum Bar
- Continuing on fixing regressions in QuantumBar, including improvements for RTL, less visual flicker and lots more.
User Experience
- No updates this week.
This week I learned
- Gecko 68 is our next ESR release. Get your refactorings in soon!
- Mochitest-browser non-e10s tests are no longer running in CI. See dev-platform for more discussion.