Highlights
- Browsing your stored logins in Lockwise is now easier with a new ability to reverse alphabetical sort the stored logins.
- The changes to extension sideloading that we announced back in October have landed!
- Starting in Firefox 74, the preference to allow running extensions with embedded experimental APIs has been renamed from extensions.legacy.enabled to the more explicit extensions.experiments.enabled
- If you need your WebExtension to use experimental APIs, then you’ll need to flip this preference.
- The urlClassification property in the webRequest API, which classifies URLs into groups such as “tracking”, “cryptomining”, etc. is now available to all extensions (Bug 1589494)
- Eager evaluation (aka Instant Evaluation) is now available on Nightly for DevTools! Check out the Console panel.
Friends of the Firefox team
Introductions/Shout-Outs
- Introducing Bernard Igiri!
Resolved bugs (excluding employees)
Fixed more than one bug
- Alex Henrie
- Andrew Swan [:aswan]
- Andy Bruère [:abruere]
- Florens Verschelde :fvsch
- Itiel
- Logan Smyth [:loganfsmyth]
- Magnus Melin [:mkmelin]
- Pranav pandey
New contributors (🌟 = first patch)
The new contributors list is especially long this post because it contains new contributors since the last post went out!
- 🌟 Andy Bruère [:abruere] made it possible to sort the about:logins list in reverse and fixed a keyboard focus bug in about:logins
- 🌟 Ashu Ghildiyal made one of the strings in our DevTools console more consistent with our other strings
- 🌟 Brent Schroeter fixed an inconsistency in our link colouring in about:protections
- 🌟 Chris Henry fixed a keyboard bug when permissions.default.shortcuts is set to a non-default value
- 🌟 jpmohr removed the old callback API from some of our DevTools console test helpers
- 🌟 Lina R removed some old backwards-compatibility code from our DevTools inspector that we don’t need anymore.
- Marco Vega enabled ESLint on the rest of our DevTools code
- mforney fixed some build issues on some flavours of Linux
- Stepan Stava fixed a bug where sometimes the Event Listener Breakpoints section would erroneously collapse or expand when clicking on the “Log” checkbox.
- 🌟 Brandon Kraft fixed an inconsistency in the Storage Inspector when looking at SameSite=None cookies
- Richard G (:cardo) made the code that updates search engines more robust
- 🌟 Artem, one of our MSU Capstone students, ported the Set Desktop Background dialog to Fluent
- 🌟 Seifeddine Besbes made the special $x() XPath query function in the DevTools Console more understandable in what types it can return
- Sid Vishnoi :sidvishnoi updated how sparse arrays are represented in the DevTools Console
- Taylor Southorn added media autoplay control to our Enterprise Policy engine
- 🌟 Samarjeet fixed a bug in how whitespace is formatted in the output of the DevTools Console
- 🌟 Tobias Oberstein added the WAMP protocol to the DevTools Network Monitor
- Kousuke Takaki improved the keyboard accessibility support in the Forget panel
- abowler2 fixed a bug where the Network Monitor loading indicator would sometimes be hidden
- Alex J Garcia made it so that the Debugger variable preview text is not selectable
- 🌟 Duncan Dean fixed a bug where a search in the Network Monitor would run indefinitely if a page reload occurred before the search completed
- 🌟 Hayden Huang made it so that the WebSocket Messages panel for the Network Monitor shows the downloaded and uploaded amount, as well as the total transferred amount.
- 🌟 Krish De Souza made it so that Firefox Snap packages respect the SNAP Theme-ing API
- 🌟 Kyle Kim fixed a typo in some of the code for the about:neterror page
- 🌟 Raymond Liu made it so that the context menu for links in the Web Console allow you to open them in new tabs
- 🌟 Taylor Southorn removed some dead code from the Firefox installer for Windows
- Tyler, one of our MSU Capstone students, ported the UITour code so that it works with Fission enabled
- Jacob Stenson:
- Removed some dead code from about:addons
- Removed the unnecessarily returned frameId property from the Page.loadEventFired event
- Jean fixed an alignment issue for the “whitespace” indicator in the Inspector tool
- 🌟 Tony Wang fixed an issue where sometimes the grid-gap rule would be erroneously marked as inactive in the Inspector
- Edward Billington made it possible to use dataURL background images in styled console log messages
- Marco Vega enabled ESLint for all of the devtools/shared folder
- Carson Greene ported about:logins to work with JSWindowActors
- 🌟 saihemanth9019 added an indication that a WebSocket connection has been closed in the Network Monitor
- Tanner Davies updated the menuitem to reset the zoom level so that the label is “Actual Size”
- 🌟 Thiago Arrais fixed the protocol entry for WebSocket connections in the Network Monitor so that they show ws:// or wss://
- Tri cleaned up and simplified some of the code in the Safe Browsing service
- 🌟Wendy removed some dead code from our Session Restore code
- Mohd Umar Alam [:umaralam48] added a preference that keeps the All Tabs button visible, even when the tab strip is not overflowed
- 🌟 Nikolai Lopin :nlopin made the Network Monitor network request details panel more visually consistent with the rest of the tool
- Tanner Davies fixed some inconsistencies in the panels used to list synced tabs
- Krishnal Ciccolella fixed some style inconsistencies in the Debugger UI
- 🌟 Andres Ortega :cabezota got rid of some redundant information in the Network Monitor when examining WebSocket messages
- Martin McNickle made the Network Monitor mouse cursor behaviour more consistent with the rest of DevTools
- 🌟 louiscontant updated some of the in-tree Telemetry documentation
- 🌟 camporter1 fixed a bug in the new certificate viewer where certain certificates were accidentally presumed to be corrupted
- Tyler got rid of some dead event and messaging code originally used for Image Documents
Project Updates
Add-ons / Web Extensions
Addon Manager & about:addons
- Mark removed some old workarounds from about:addons (Bug 1610622, Bug 1565235) and fixed some issue related to the options page (Bug 1610227) and about:addons “categories sidebar” (Bug 1609069)
- Extensions keyboard shortcuts can now be removed from the about:addons “manage shortcuts” view (Bug 1520119, and Bug 1475043 to allow the extensions themselves to unset a shortcut using browser.commands.update(…))
WebExtensions Framework
- As part of the changes needed to fully adapt the WebExtensions internals to Fission, Tomislav ported the nativeApp messaging internals from MessageManager to the JSWindowActor based messaging (Bug 1602639)
- Shane made sure that the manifest property content_security.isolated_world is aliased to content_security.content_scripts to improve Chrome compatibility of the changes to the extensions CSP (Bug 1594232)
- Starting from Firefox 74 (Bug 1502525), the preference “extensions.webextensions.remote” (which makes the extension pages to run in a separate process when set to true) is now only being read once (which is useful to prevent unexpected behaviors when the preference is flipped at runtime)
- The urlClassification property included in webRequest and proxy events details is now part of the public API available to all the extensions (Bug 1589494)
Fixed regressions
- In Bug 1608373 Andrea fixed a “browser.proxy.settings.get/set” regression that was affecting non-privileged extensions that use the proxy.settings API (regression originally introduced in Bug 1593651)
- The changes introduced by Bug 1405971 – Webextension UUID leak via Fetch requests have been backed out to fix some regressions due to setting the Origin header to null on the HTTP requests originated by an extension page (some regressions related to this issue are tracked by: Bug 1607154 and mozilla/fxa#3857)
Other bugs fixed thanks to our contributors
- atiqueahmedziad fixed the userScripts API schema (Bug 1605403)
- myeongjun.ko fixed a bug in the storage.sync API (Bug 1561584)
- aji.yash13 fixed a theme API bug (Bug 1592831)
Developer Tools
- Autoclose brackets – The Console panel input now respects the Autoclose brackets option. Console automatically inserts the corresponding closing element for quotes & brackets (bug)
- A new InactiveCSS warning landed. This one will let you know when one of the top, right, bottom, left and z-index properties are being used on a non-positioned element (bug)
Check out the Rules side panel in the Inspector panel
- The New Application panel is now enabled by default(in Nightly (only). Feel free to play with it if you have manifests and service works in your apps and report any issues you find here.
Next steps include doing a UI review of this new panel and showing all workers for registrations.
- WebSocket Inspector supports WAMP protocol, including JSON, MsgPack and CBOR (bug)
Available in the Network panel
Fission
- mconley made the PopupBlocker Fission-compatible
- bigiri has an in-progress patch posted that migrates UnselectedTabHover to JSWindowActors
- Neil finished view source
New Tab Page
- Discovery Stream enabled for rest of world in 73.
- New stories recommendation updates available but preffed off in 74, going to run experiments with it.
- Working on content collections for newtab stories experiment in newtab for 75. It’s a way to group similar stories based on a certain topic for a set amount of time, examples, if we wanted stories related to privacy, or entertainment, we could group them, or if we wanted to respond to something time based.
- In 75 adding some prefs to enable stories in new locales, so we can run experiments on this before going live, initially this is going to be for the UK. Right now US, CA and DE see stories.
NodeJS
- We are changing the minimum required version of NodeJS for Firefox builds from 8 to 10
- Node 10 is the oldest Long Term Support version of Node that is still live. It was chosen (rather than Node 12) because we want to cause minimum disruption for older distributions still building modern versions of Firefox.
- After this happens (I’ll post in the usual places), folks will need to execute `mach bootstrap` in order to get the updated NodeJS bits installed into ~/.mozbuild
- Probably shouldn’t cause any problems, but if anything acts weird, feel free to contact dmosedale@mozilla.com or ask in #NodeJS on Slack
Password Manager
- Fixed
- Autocomplete/Autofill
- Move suggest secure password option to the top of the context menu
- Move Fill password to the top of the context menu
- Autocomplete dropdown is not toggled for some sites with multiple saved logins (on page load when the field is auto-focused)
- about:logins
- General
- Toolkit’s password prompts should have product name in the window title
- Having a Master Password makes Firefox password manager (both Lockwise and legacy) slow to load (10s for 300 passwords on an i7), using 100% CPU and causing laptop fans to spin up
- When importing saved Chrome passwords on mac, don’t cause a keychain prompt if there are no rows to import
- Autocomplete/Autofill
Performance
- dthayer
- wrote an IOInterposeObserver to help us ensure that certain threads don’t write to disk on shutdown (meaning they can probably just exit immediately at quit)
- landed a patch to add a new pref to let us dogfood fast shutdown
- Intending to enable the pref at its least aggressive setting shortly
- After this, we will extend our late write checking into earlier phases of shutdown
- Have a patch up to avoid blocking the shutdown path to write the StartupCache file.
- Gijs has autolanded a patch which lets us avoid more main-thread IO
- mconley
- completed the about:home startup performance audit, and has filed a metabug to carry out recommendations
- found and posted a patch for a correctness issue with the about_home_topsites_first_paint probe
- consulted on a few Talos regressions, and helped figure out resolutions for both
Performance Tools
- Recent profiler talks/workshops:
- Beginner workshop (Berlin all hands)
- Advanced workshop (Berlin all hands)
- FOSDEM talk (video is linked from this page)
- Berlin Lightning talks – skip to chapter 9 for ‘new features of the profiler’ and chapter 10 for an introduction to ‘memory tooling’.
Picture-in-Picture
- We published a blog post about Picture-in-Picture that talks about our design and compares our implementation with other browsers.
- gl added the following keyboard shortcuts to the player window:
- Left-Arrow / Right-Arrow: seek back / forward
- Up-Arrow / Down-Arrow: volume up / volume down
- And more!
- This is currently held to Nightly, since seeking breaks Netflix.
- mstriemer made it so that using the “X” button to close the Picture-in-Picture player window pauses the video
- mconley adjusted the toggle so that it’s repositioned on Udemy, Instagram and Twitch.
- Gijs fixed a case that caused errors to be logged to the console
Search and Navigation
Search
- Search configuration modernization
- Hoping to turn it on soon, currently looking at performance figures.
Address Bar
- Notable changes:
- Fixed a regression in urlbar autofill when browser.urlbar.suggest.history = false – Bug 1602728
- Search strings now ignore diacritics (controllable by places.search.matchDiacritics pref) – Bug 1606731
- Visual redesign
- Improved accessibility – Bug 161360, bug 1608766
- The redesign, Urlbar Top Sites, Search Tips and Interventions features are enabled in early beta or earlier
- Search Tips are not shown if “Recommend features as you browse” pref is unchecked – Bug 1613048
- Top sites are not shown if the corresponding feature is disabled on the New Tab Page – Bug 1608359
- Increased usability of the urlbar in small windows – Bug 1610497, Bug 1612317, Bug 1401835,
- Improved contrast with the dark theme – Bug 1593886
User Journey
- Tracked down snippets broken in nightly by content sanitization fortunately caught before release with enabling release snippets in nightly now switching to dedicated nightly snippets
- Completed end-to-end testing for user agent attribution in with help from bedrock attributing all downloads via stubattribution service into Firefox 73 installer to eventually processing telemetry data according to pipeline-schemas
- Updated baseline about:welcome experience based on 7 variant results to run additional followup experiments
- Starting to look into improving profile migration experience focusing on Windows Chrome users to potentially “pre-import” top sites before a full import and “pre-import” list of domains with passwords to suggest from Lockwise autocomplete
No comments yet
Post a comment