Highlights
- We removed XUL overlays, a legacy add-on technology. This allowed us to get rid of a bunch of old, complex code.
- We pushed a bunch of updates to the Facebook container extension: Now including Instagram and FB Messenger!
- We updated the page info security section to reflect that websites store more information than just cookies on your computer.
- Dark theme for the new tab page landed in Nightly!
- Search engine discovery from the Address Bar landed, you can add opensearch engines from the page action menu. A few follow-ups are being worked on.
- Have you seen something land recently that should have a positive performance impact for our users? Submit it in this form so we can highlight it in our Performance Updates!
Friends of the Firefox team
(Give a shoutout/thanks to people for helping fix and test bugs. Introductions)
- Resolved bugs (excluding employees): https://mzl.la/2EyLwzn
- More than one bug fixed:
- Manish Kumar (21 bugs!)
- Oriol Brufau [:Oriol]
- Tim Nguyen :ntim
- Tomislav Jovanovic :zombie
- New contributors (🌟 = First Patch!)
- 🌟 Jake Nixon made it so that we show the Exit shortcut helper in the App Menu on Windows
- 🌟 kylemsguy removed some unnecessary content process Telemetry
- 🌟 Peter Dodds fixed how the Downloads Panel displays remaining download time in the Persian locale
- 🌟 Satish Pasupuleti [:satishp] added a WebExtension API for overriding document colours
- 🌟 ryanro1997 fixed up some of our tests to use the common TestUtils.topicObserved mechanism rather than a hand-rolled function
- 🌟 smswessem replaced the EmojiOne fallback emoji icon set with the MIT licensed Twemoji set
- More than one bug fixed:
Project Updates
Add-ons
- Kris continued to remove old stuff related to legacy extensions. Jkt got in on the action too. Planning for the eventual removal of bootstrap.js continues.
- Assorted bugs in the webRequest (x2), pageAction, permissions (x2), downloads, devtools, and tabs (x2) APIs were fixed.
- Mossop fixed two quirks with the proxy API.
- Preloaded popups got more efficient. They are also more readable when a dark browser theme is in use.
- Oriol optimized browser.windows.get() and browser.tabs.query() in the case there are many windows and/or many tabs.
- New APIs to set high contrast mode and the default location for new tabs were added.
- Themes can now set the hover/focused state of toolbar items and the appearance of autocomplete popups.
- When an extension uses the browser.tabs.hide() API, users can now find out about hidden tabs in the UI. This video shows this in action.
- The groundwork has been laid for improved handling of events during browser startup.
Activity Stream
- The thumbnail service will now use tracking protection when taking screenshots.
- Wide Layout Experiment early results are in – neutral to slightly positive preference to wide layout in Beta 60!
Browser Architecture
- No more style overlays!
- Platform overlay code is being ripped out now!
- Fluent is finishing with DTD in Preferences
- mozIntl.getLocaleDisplays will land this week
Lint
- Linter hooks will now run on the entire tree if you change a configuration file
- Dan Banner enabled ESLint on osfile.jsm, nsURLFormatter.js and nsHelperAppDlg.js
- Enabling ESLint for more files in devtools so that we can get better coverage (note: some rules still disabled for those enabled directories).
Policy Engine
- Finished work on policies for 60: 45 from the MVP, and 14 extras! Everything targeted for 60 has been uplifted to beta.
- Tweaked names and arguments for some policies.
- We got our first request for a policy from someone in the wild!
Performance
- Tab warming
- Fixed a scrolling / checkerboarding glitch that some users were experiencing with warming enabled
- Paint blank window on start-up
- florian has a potential fix for the black area some Windows users are seeing on start-up
- No more duplicated window when starting Firefox with a file or url provided on the command line
- dthayer is very close to moving ContentPrefService init off of the main thread. Bashing through shutdown leaks in automation.
- Gijs got rid of some sync IPC we were sending on every keypress when using the Findbar! 🎆🎉
- Gijs is also still working on making the blocklist more async. Hope to be at 100% async by the next meeting.
- felipe is joining us! Going to start focusing on content process performance
- PSA: Are you familiar with arewesmoothyet.com? If you care about reducing hangs, you should check it out!
- In-progress dashboard for Background Hang Reporter (BHR) data. BHR collects a single stack from our Nightly population every time a hang is experienced by main threads, and sent along with Telemetry.
- Check out these graphs
- Also profiler-like breakdown of hangs
- We’ve also started to break the graphs down into various components
- Examples:
- Want to track your component? File an issue here!
Privacy/Security
- Chris Kerschbaumer added an assertion that new about:pages have a CSP.
- Aakanksha fixed the “Remove Selected” button behavior when sorting sites in the Site Data Manager.
- Prathiksha moved 1000 lines of gIdentityHandler out of browser.js into their own file.
- We’re happily removing more usage of unsafeInnerHTML and innerHTML in Firefox.
Search and Navigation
Address Bar & Search
- Address bar results composition for new (created from 57 on) profiles has been fixed across all the versions. “New” profiles get a unified urlbar and search suggestions first. Older or customized profiles won’t be changed.
Places
- Fixed a case where the browser picked a wrongly sized icon on popular websites, causing a blurry favicon on hi-dpi screens
- Fixed a regression in opening bookmarks from the sidebar using the keyboard
- Masayuki fixed a regression of tags autocompletion in the edit bookmarks dialog
- First part (out of 3) of the bookmark tags refactoring landed; tag queries are now using a new format that is independent from how tags are stored. Now breaking down the tagging API rewrite.
- Fixed a bug where changing the url of a place: query didn’t update its contents
- More synchronous code removals:
- Bookmarks::getBookmarkURI
- unnecessary annotation lookups when opening a Places context menu and removed Annotations::GetPageAnnotationNames
- Annotations::copyPage/ItemAnnotations
- Code maintainability improvements:
Sync / Firefox Accounts
- Kit, Thom, and Mark putting the finishing touches on the new bookmarks engine. ✨
- There’s a draft of a blog post that you can review!
- Ed is putting the finishing touches on FxA Messages (formerly Pushbox 🖐📦), a service for delivering large push payloads to Firefox.
- This will be used for New Send Tab.
- Thom is reworking how Sync backfills history records, reworked the bookmarks engine to transparently switch between the new and old engines after flipping the `services.sync.engine.bookmarks.buffer` pref, dug into profiling the new engine, and fixed more tests. 🐞
- Mark optimized observer notifications in history sync. 👀
Web Payments
- Milestone 1 completed!
- Milestone 2 is mainly focused on address/credit card add/edit screens that show in the PaymentRequest dialog
- Team has completed 49% of the Milestone 3 commitment.
John M.
wrote on
Robert Ab
wrote on