Highlights
-
- James Teh fixed a really annoying accessibility bug where search suggestions were interfering with the focused element.
- We’re officially launching a new privacy tool called Firefox Monitor. You can read the official announcement and a bit of behind the scenes.
- Focus for iOS 7.0 went live last week, Focus for Android 7.0 with GeckoView is scheduled for release on October 2.
- Florian has been landing some massive improvements to the new
about:performance
.- To try out the new page, flip the
dom.performance.enable_scheduler_timing
pref to true, and restart your browser (or you’ll get crashed). - Please file bugs in Toolkit :: Performance Monitoring.
- Instead of displaying ‘dispatches’ and ‘duration’, the values are combined into something (labelled “Energy Impact”) that users can better understand, with “High/Medium/Low/None” categories.
- Sort order is more stable, and subframes/workers have values.
- It’s possible to select a row. A double click will select the tab.
- Tarek Ziade is making good progress on counting WebExtension activity in frame scripts, and is experimenting with collecting memory information per tab.
- To try out the new page, flip the
- A grab bag of Web Payments improvements! The team has been making great progress, and they’re almost ready for user testing.
- We now support all countries 🌎 in form autofill preferences for use by Payment Request.
- There’s lots of form validation improvements ✅
- Nicer card/address pickers.
- 💳 Improved credit card form layout and added placeholder credit card network logos.
- String changes to support user testing
- And, of course, improvements to the DOM API: implementing
PaymentResponse.retry()
,onmerchantvalidation
andMerchantValidationEvent
, andPaymentResponse.prototype.onpayerdetailchange
.
Friends of the Firefox team
- Fixed more than one bug
- Adam Hillier [:ahillier]
- Arshad Kazmi [:arshadkazmi42]
- Jonas Jenwald [:Snuffleupagus]
- Preeti [:preeti]
- Shivam Singhal [:championshuttler]
- Tim Nguyen [:ntim]
- New contributors (🌟 = first patch)
- 🌟 Alec Clarke removed an unneeded
_manifestURI
field andMozApplicationManifest
message from our browser bindings - 🌟 Artyom Pranovich made it so that if a user attempts to install an add-on that’s already installed but disabled, the add-on will be enabled
- 🌟 dev increased the input history limit in the DevTools console, and also got rid of an obsolete reference from an
.eslintrc
- 🌟 Jack Smith ported
about:url-classifier
to Fluent - 🌟 Kajal Kumari Sah (:kajalsah) got rid of an unneeded Places maintenance task
- 🌟 Korina swapped out an old PNG image for a shiny SVG image
- 🌟 Luke Schwalfenberg [:lschwalf] fixed a broken
about:policies
link fromabout:support
- 🌟 Collin Wing ported
about:profiles
to Fluent - 🌟 Siddharth Maurya [:savvysiddharth] made
about:privatebrowsing
more accurate by adding “copied text” to the list of thingsabout:privatebrowsing
reports that Firefox will save in Private Browsing mode
- 🌟 Alec Clarke removed an unneeded
Project Updates
Mobile
- The second beta of Firefox for iOS 14.0 was sent to our TestFlight audience.
- Android Components 0.24 shipped!
- We added support for thumbnail images on tabs.
- We now have a new component that protects user data using
AndroidKeyStore
. - Our settings now have more support for WebView settings.
- Android Components 0.23 shipped!
- Our engine component now supports fullscreen mode, clearing browsing data, and intercepting errors.
- We added support for processing
ACTION_SEND
intents. - The new
sync-logins
component was introduced. - We added initial documentation for our
browser-session
component.
- Lockbox iOS 1.3 went live Tuesday September 18th.
- Check out the blog post!
- Read up on the release details.
- With iOS 12 you can automatically fill your usernames and passwords from Firefox Lockbox into apps and websites.
Activity Stream
- The team is running an experiment with the new single overlay onboarding experience in Release.
- The Contextual Feature Recommender, a doorhanger that recommends add-ons, is now in Nightly, and will run as an experiment in Beta next week.
- We now show the logo and wordmark when only the search panel is enabled.
Add-ons / Web Extensions
- Many pieces for the new userScripts API landed. See the tracking bug to follow them all.
- The delayed background script startup optimization is now enabled on Fennec.
- Location bar focus is now handled properly when extensions open new tabs.
- A glitch with uninstalling themes was fixed.
- Links in extension sidebars now work properly.
- We no longer get a yellow-screen-of-death if a language pack is updated from an unpacked version or removed from disk.
- And of course,
bootstrap.js
removal continues…
Application Services (Sync / Firefox Accounts / Push)
- Account recovery keys have shipped for Firefox Accounts! 🔑
- The team is working on a bookmarks 📚 and history 🕒 Android components, based on the Places schema.
- We’re currently building a command-line awesomebar demo, using Desktop’s autocomplete algorithm.
- We have a syncable logins store, based on the iOS implementation, and an Android component that’s now integrated into Lockbox 🔒.
- We’re writing a Sync storage server in Rust! 🖥
- There’s a prototype of porting the synced bookmark merger on Desktop to Rust 🦀.
- The patch has a minimal mozStorage Rust wrapper, and a
mozISyncedBookmarksMirror
component implemented in Rust. The merger can run off the main thread, unlike JS.
- The patch has a minimal mozStorage Rust wrapper, and a
- Myk has also been working on an XPCOM component for rkv 📦.
Browser Architecture
- Check out the latest Browser Architecture Newsletter and the XUL/XBL Replacement Newsletter to read about what everyone’s been working on!
Developer Tools
- Arai’s work to massively cut down DevTools opening delay on script-heavy pages by fixing a 5 year old bug to add
Debugger.findSources
. This removes a 1s hang when opening the Console on Gmail.
Lint
- ESLint is now enabled for
editor/
. - Picked up performance improvement from
eslint-plugin-html
.
NodeJS
- Removing the
--disable-nodejs
flag is still planned, but no longer a blocker for making Node available to selectmoz.build
files. - Up next: beta support for
moz.build
files, use for JSX transpilation by the debugger team, ESLint integration.
Performance
- dthayer
- Has sorted out an Nvidia bug with client storage that was causing some really strange graphics artifacts on macOS. Patch is reviewed, hopefully landing soon.
- Removed some
InitOSFileConstants
’ main thread IO.- This is a qf:p1 targeted for Firefox 64, so it’s great to see this coming along.
- Unfortunately, it’s unlikely that all of
InitOSFileConstants
will come off of the main thread, but some is better than none! dthayer will be filing a follow-up bug for the rest.
- Starting to look into Document Splitting for WebRender.
- This should isolate the updating of the browser UI from the web content, which should be more efficient.
- Gijs
- Removing useless
about:blank
loads.- Fixed a bunch of tests.
- Recent trypush (and an earlier one with more tests/platforms) indicating remaining work will likely take at least another few weeks – probably 5-10 other test issues to sort out. They often don’t reproduce locally, and seem to largely be Linux-focused.
- Working on a qf:p1 for removing a layout flush when focusing the URL bar.
- Slowly making inroads here, but needing to spend time untangling how focus causes flushes only some of the time.
- Removing useless
- mconley
- Removing the layout flush for Tabs in Titlebar proceeding apace. Have it looking good on macOS, Linux, Windows 10, and Windows 7 “aero”. Need to fix up Windows 7 non-compositor, and then I can have this up for review.
- Removed the
toolbar.toolbox
XBL property as a dependency.
- Removed the
- Tested the background process priority manager on the 2018 Quantum Reference hardware, discovered a tab switcher bug, and got that fixed and uplifted.
- This caused mconley to file a bug about how the compositor seems to have more information than it’s letting on.
- Working on eliminating CPOWs from
WebProgressChild
messages. This will hopefully unblock the separate content process for Activity Stream from landing, which will enable theScriptPreloader
work that imjching worked on a few months back that improvesabout:newtab
loading time.
- Removing the layout flush for Tabs in Titlebar proceeding apace. Have it looking good on macOS, Linux, Windows 10, and Windows 7 “aero”. Need to fix up Windows 7 non-compositor, and then I can have this up for review.
Policy Engine
- Mac policy engine try builds available, and Mac admins already love it! Thanks to Stephen Pohl!
- Working on security devices, certificates, and generic prefs for 64.
- MSI installer work happening as well.
Fission
- Fission is our codename for the process-per-site isolation project.
- On the front-end, we’re converting frame scripts to actors. Check out:
- Bug 1490810 – Simulate Fission for browser actors by blocking them from receiving subframe events
- Bug 1493984 – Simulate Fission behavior for browser actors’
receiveMessage
Search and Navigation
Address Bar & Search
- Nicolas made the Address Bar complete
about:
addresses (autocomplete is being fixed) - Fixed a bug where copying a search shortcut from the Address Bar copied the wrong string
- We’re actively investigating cases where autocomplete doesn’t work with bookmarks, when history is disabled or cleared on shutdown
- Fixed a bug when
mozParams
can’t be the first entries in a search engine definition
Places
- Fixed a bug causing a favicon to be assigned to the wrong page
- Fixed a bug where the downloads API may call into the history API causing a waterfall of console errors
Test Pilot
- Conversation getting started around reusable React components for websites that fit the Photon UI specs.
- Screenshots: bootstrap removal should land this week 🤞, see the metabug if you’re curious!
- Bootstrap removal introduced Talos regressions that seem to be caused by unexpected storage init at startup.
- Looks like we’ll finally be able to enable Screenshots for all tests, based on an encouraging Try run from yesterday
- Huge thanks to aswan & kmag for jumping on add-ons bugs surfaced by the migration
Web Payments
- Only 8 remaining bugs for Milestone 3 after which we’ll enable on Nightly by default (not riding the trains yet). 🎉
- Bug 1470168 – Add tooltip beside ‘save to Firefox’ checkbox
- Bug 1477102 – Show card network logos on the card add/edit screens
- Bug 1490805 – Add the CVV security code field to the add card form and make it required in all places
- Bug 1432939 – Link to Firefox Options/Preferences from the
PaymentRequest
dialog
Below the fold
- [standard8] General reminder that xpcshell-tests can use the Developer Tools for debugging. A new section has been added to the xpcshell-test page on MDN on how to do this.
- [mconley] I’m getting rid of
contentWindowAsCPOW
,contentDocumentAsCPOW
, and the APIs that rely on them. Please don’t use these anymore. - [felipe] LegNeato will be working on Firefox desktop development efficiency and is looking for feedback
- [johannh] The update to macOS Mojave breaks Firefox compilation unless you install header files manually. Then it compiles successfully, but you’ll have a black window unless you downgrade to the 10.13 SDK.
ac_add_options --with-macos-sdk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
- There’s a
dev.platform
post, too.
- We now have support for
Array<T>
in XPIDL. That means that all these awkward entries can be converted to more maintainable API signatures.
Ferdinand wrote on