Highlights
- Firefox 86 went out on February 23rd! Here are the release notes.
- The new, modern printing UI is rolling out to 100% of our release users in Firefox 86!
- Devtools has a new UI for color scheme simulation (bug). This change was contributed by Sebo. The following media query can be used on the page to follow the current scheme value:
@media (prefers-color-scheme: dark) { body { background-color: #333; color: white; } }
- The new Devtools Performance panel is enabled by default in Nightly (bug)
- About:welcome now supports a “Make Firefox My Primary Browser” button (bug). This button pins Firefox to the taskbar and sets it as the default browser.
Friends of the Firefox team
For contributions made from January 26, 2021 to February 23, 2021, inclusive.
Introductions/Shout-Outs
Resolved bugs (excluding employees)
Fixed more than one bug
- Anurag Kalia :anuragkalia
- msirringhaus
- Itiel
- Andrei Petcu
- Sebastian Zartner [:sebo]
- Sunday Mgbogu [:digitalsimboja]
- Tim Nguyen :ntim
- Tom Schuster [:evilpie]
New contributors (🌟 = first patch)
- 🌟 Anurag Kalia fixed a style error in nsNavHistoryQuery.cpp and fixed a typo in devtools/docs/files/adding-files.md.
- 🌟 George White fixed a style error in ApplicationReputation.cpp.
- 🌟 Tanweer Ali removed the expired Scalar `browser.engagement.restored_pinned_tabs_count`.
- 🌟 Aditi Singh removed expired Scalars `telemetry.profile_directory_scans` and `telemetry.profile_directory_scan_date` and Histogram “PROFILE_DIRECTORY_FILE_AGE”.
- 🌟 Sachin Chauhan fixed a style error in StartupCacheUtils.cpp.
- 🌟 Sunday Mgbogu updated ext-menus.js to call withLastError and fixed an intermittent failure in test_ext_menu_caller.js.
- 🌟 James Frye replaced setAttribute(“hidden”) calls with DOM hidden property methods.
- Swapnik Katkoori fixed Picture-in-Picutre to not open videos with a duration of NaN.
- 🌟 achmurali updated the exception handler to use C++ strings instead of C strings.
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- The about:addons HTML views are now finally moved to the top level document (Bug 1525179), which was the last remaining step related to completely replacing the old XUL about:addons page. As a side effect of that change, in Firefox >= 87 the print preview now works as expected for the about:addons page (Bug 1663385).
- Some more cleanups and papercuts fixed in about:addons, thanks to ntim (Bug 1689234, Bug 1689230) and Itiel (Bug 1693642)
WebExtensions Framework
- Reverted Origin-Header Changes in FetchDriver.cpp (originally introduced in Firefox 85 by Bug 1605305) to fix a regression (Bug 1685570 – Addon network request origin header omitted in v85). Fix uplifted to Firefox 86.
WebExtension APIs
- Starting from Firefox 87 nativeMessaging can be used as an optional permission (Bug 1630415)
- Sunday Mgbogu (:digitalsimboja) contributed a fix to make sure we include the expected stack trace on errors triggered by the menu API (Bug 1588616)
- Fixed missing windows.onFocusChanged event for extensions not allowed to access private browsing windows when the user does switch to a private windows (Bug 1691144). Fix uplifted to Firefox 86. Thanks to Alessio (:Dexter) for contributing a fix for it.
Developer Tools
- Inactive CSS – Contributed by Sebo
- Developer Tools Toolbox is now showing a number of errors on the current page. This is a quick way to surface information to a developer that something is wrong with their page. Clicking on the red exclamation icon navigates the user to the Console panel.
- Fission – DevTools milestones aligned with platform (M7 and M8)
Fission
- Milestone 6c is finished. Milestone 7 targets Firefox 88.
- Neil added a notification bar now appears when a subframe crashes, offering help and an option to submit the crash. Also added telemetry for crash notifications.
Installer & Updater
- 1686343 – agashlin worked with the UJET team(mardak) to find and integrate a way to programmatically allow Windows users to pin to the taskbar. This will be surfaced as an experiment in FX 87.
- 1685213 – agashlin is working on implementing a way to track pin to taskbar state, and if a user launched Firefox from a pin or not. We will likely be uplifting this into FX 87 – patch has not landed yet.
- 1483399 – bytesized will be improving how we handle per-installation (as opposed to per-profile) prefs in order to support integrating a pref to enable/disable the upcoming background update agent.
- 1684971 – bytesized landed a change to track who we might be losing in the default browser agent due to confusion over how to set Firefox as the default. This goes live with FX 86.
- 1654891 – nalexander is currently integrating Glean into the background update agent.
- nalexander has been coordinating with the experimenter team for the background update agent rollout plan – it will be a staged rollout for all windows users starting with FX 89.
Lint
- A linter for Fluent strings has been added, which replaces the previous in-tree test.
- Please file any issues, blocking bug 1691747.
- The ESLint documentation that was on developer.mozilla.org has now moved to firefox-source-docs and been brought up to date.
Messaging System
- Promoted winning about:welcome experiment branch to show setting default browser on the initial screen.
- Prepare capability to show an instructional image of how to pin Firefox to windows 10 taskbar.
- Run experiment with focus in about:welcome instead of address bar.
- Allow remote triggering of InfoBar message initially used for showing set default browser on new tab.
Password Manager
- Thanks to Andrei Petcu for the following patches:
- 1688049 – Fixed wrong focused element in Import Password from CSV dialog
- 1689119 – Fixed duplicated telemetry initialization in “LoginCSVImport.jsm”
- 1687852 – Fixed how duplicates are handled when importing from a CSV file.
- 1692481 – Fixed “Import Error” modal not appearing after importing logins from a CSV file that contains multiple duplicated column headers
- 1592050 – tgiles landed a patch that enables users to search via password when Primary Password is enabled
PDFs & Printing
- Duplex (print on both sides):
- Bug 1673099 – enordin fixed some issues with our default flipping across platforms
- Bug 1671702 – emilio added support to pick between the two modes
- Bug 1688099 – emalysz landed a patch to remember the “More settings” expanded state
- Bug 1669732 – emalysz added an error message when copies are invalid (> 10,000)
Performance
- Barret is working on unblocking a bunch of IOUtils migrations that will hopefully land this week. The unblocked patches will help startup performance by not instantiating OS.File during startup.
- Gijs made closing hung tabs faster by not checking for “beforeunload”.
- We’re going to run an experiment in Firefox 86 in early March that will enable the Pre-XUL Skeleton UI to see how it impacts user retention. We were originally going to test the about:home startup cache as well, but it turns out that Normandy sets the prefs for experiments too late for that to work.
Performance Tools
- There’s a new “PROFILER” category showing profiler overhead, displayed in a red-ish color in the timeline. (example profile)
This lets us cleanup marker stacks by stopping the stackwalker when it enters the profiler category:
Full stack:
Marker stack (with profiler internals now hidden!):
- The “Buffer Capacity” line in the profile metadata panel has been fixed (it used to show a size 8 times too small). It should now match the size set in about:profiling.
- We are making progress on localizing the profiler.firefox.com homepage, thanks to Hasna, our Outreachy student.
- The marker context menu has been redesigned to no longer use submenus, to make it easier to change the selection based on marker timings.
- The large GeckoProfiler.h header is being split into smaller headers that contain the most used profiler features: mozilla/ProfilerLabels.h and mozilla/ProfilerMarkers.h are the most frequently used. This should hopefully help reduce compile times slightly (and significantly for people hacking on the profiler that will no longer need to rebuild everything whenever a profiler header is edited).
- Visualization of the new CPU Utilization data is going through review, and should be available soon.
- New markers:
- Sync IPC markers are now available again unconditionally
- New DoFlushPendingNotifications and SetNeedStyleFlush markers to make sync style flushes easy to understand
- New Runnable markers to understand things using just a little bit of CPU on a thread (otherwise invisible in samples)
- “Perform Microtasks” marker
Picture-in-Picture
Exciting progress from MSU students over the past few weeks:
- Guanlin [:chenggu3] has been porting the DTD strings in videocontrols.js to Fluent (bug 1654054)
- Swapnik [:katkoor2] recently landed a fix where PiP would open a video with an invalid duration value via the keyboard shortcut (bug 1679174)
- Oliver [:popeoliv] has begun moving the PiP overrides embedded in the WebCompat add-on into its own system addon. This will allow us to develop more site-specific overrides for Picture-in-Picture independently from the WebCompat add-on (bug 1690076)
- David [:heftydav] has fixed a tricky issue where the PiP icon disappears when moving its parent tab into a new window. Currently in the process of reviewing (bug 1669205).
- Tony [:frostwyrm98] has finished up making the PictureInPicture and Player modules emit interface documentation via SphinxJS (bug 1674152).
Search and Navigation
- Making search engines handling more robust
- Fixed regressions:
- Tab moving to the wrong widget after CTRL+L if browser.toolbar.keyboard_navigation = false – Bug 1678323
- Experimental “Show results during IME composition” may break IME on autofill – Bug 1689055
- Legacy search bar may lose focus after IME composition- Bug 1687704
- Enhancements:
- Made urlbar results composition more flexible – Bug 1676469. In practice, this means that the same types of results will be grouped together in the address bar. For example, we will show a set number of search suggestions, then fill up the remaining spaces with history results. Previously, we may have shown some search suggestions, some history results, then filled the remaining space with more search suggestions.
- Pasting non-url strings should insert spaces in place of newlines – Bug 1185358
- The WebRTC mic/camera icon doesn’t flash anymore in the urlbar or permissions panel – Bug 1687397
WebRTC UI
- Did you know that if you’re sharing your screen over WebRTC, you can choose to suppress DOM notifications?
- There’s a patch on autoland that turns our camera / microphone selector into a label if there’s only a single item in the list.
- We’re testing adding a “grace period” temporary allow for previously shared cameras and microphone devices to try to reduce permission panel spam while maintaining a high standard for user privacy
No comments yet
Post a comment