Highlights
- Multi-select tabs have been enabled by default on Nightly!
- Use Ctrl/Cmd-Click to select individual tabs, or Shift-Click to select a range, and then right click to perform operations on those tabs
- Please test it out and file bugs!
-
- There’s a spiffy new animation for the tracking protection icon in the identity block.
-
- AwesomeBar autocomplete fixes have been uplifted to 62. Please help us test it by reporting bugs where you’d expect an origin to be autofilled, because you use it often, but it’s not.
- Test Pilot launched two new Mobile experiments
- Notes:
- Shipped on Android. Up next, we’re triaging, responding to early feedback and meeting with the Applications Services team to figure out next steps for the Notes experiment.
- Firefox Lockbox:
- Released to the public on July 10th, 2018 at 6 AM Pacific via Test Pilot
- Social media response (Twitter, Hacker News, Reddit) relatively positive!
- Starting small with just a few English-only countries, will get feedback and roll out to more regions and languages soon
- Future: update Firefox Accounts OAuth integration, iOS 12 autofill support
- Next week: we kick-off Android app planning!
- Firefox Screenshots is getting new annotation features this week (undo/redo, and add text/emoji 🎉👍😎)
- Notes:
Friends of the Firefox team
- Kanika Saini is working on
about:policies
and other parts of our Policy Engine! - More than one bug fixed
- Abdoulaye O. LY
- Manish Kumar [:manishkk]
- New contributors (🌟 = First Patch!)
- Igor Oliveira fixed a bug in our Addons Manager code where an undefined variable was being used
Project Updates
Add-ons / Web Extensions
- Kris fixed an issue with
filterResponseData
that brokewindow.onload
in XML documents in Firefox 61 (possibly considering for 60ESR). - Peter Simonyi fixed a bug in
menus.onShown
when the context is a bookmark (possibly to be uplifted to 62). - Shane fixed
webRequest.getSecurityInfo
in 62 to: - Ian Moody fixed a devtools regression that was introduced in 61 (to be uplifted to 62).
- Aswan enabled the delayed background page startup on all channels (was just Nightly in 62).
- Luca fixed a bug with extension storage, as part of the move to IndexedDB.
- Smaug made extensions work with shadow DOM/WebComponents.
- Oriol made it so that
browser.tab.highlight()
with a single tab does not setmultiselected
to true. - Shane updated
tabs.onUpdated
filtering to useisArticle
instead ofisarticle
. - Mkaply cleaned up the search API.
Activity Stream
- Started work on turning Activity Stream into a component (meta bug), primarily moving
init
frombootstrap.js
to a JSM, then moving packaging fromfeature
tobrowser.jar
. - Implementing New Tab Page background and text color properties.
- Switching remote tippy top site data to use
RemoteSettings
. - Getting
about:welcome
ready with a bunch of fixes.
Lint
- Automated code analysis is now running in Phabricator.
Performance
In progress
- dthayer
ClientStorage
work (which should help lower the jank on the compositor on macOS) is nearing completion. One more patch to get reviewed!- mconley suspects this is the major blocker to enable tab warming by default on macOS
- Also working on migrating more of our code to use the new Places Observer system, which should handle operations over many entries more efficiently (great for Sync and imports!)
- florian
- Working on beefing up
about:performance
- Working on beefing up
- Gijs
- Researching ways in which we can classify machines as “low powered”, and then adjust parts of our browser accordingly
- Working on avoiding spurious
about:blank
loads when creating new windows
- imjching
- Working on enabling the Activity Stream content process – just working through some test failures.
- Researching ways in which we could use the
moz-page-thumbs:
protocol in the privileged content process – this could allow us to persist the Activity Stream state in a way that avoids having to calculate new state during startup
Done
- dthayer
- Moved some of the
WindowJumpList
code off of the main thread- According to arewesmoothyet, this was a significant source of jank
- Moved some of the
- florian
- The memory reporter table in
about:performance
was removed – a more performant and actionable replacement is in the works
- The memory reporter table in
- Gijs
- Made browser resizing with devtools open smoother, also here.
- imjching
Policy Engine
- Here’s a sneak peek of the new about:policies!
Privacy/Security
Anti-Tracking
- Follow us on the Meta-Bug, Front-End Meta Bug, and FastBlock Meta Bug.
- Baku added a pref that allows us to block storage access for third party trackers on the TP blocklist, unless they have user interaction.
Firefox Monitor
- The Firefox Monitor shield study (bug) has finished and we’re evaluating the results.
Search and Navigation
Address Bar & Search
- WebExtension Search Query API landed
- Fixed bugs in the mercadolibre search plugin
- Florian Hartmann will present his work on the federated learning addon (original blog post) today during internship presentations
Places
- We are replacing
nsIDownloadHistory
with the async History API, and removing page annotations, to make the downloads views faster.- Cleaned up a bunch of old, deprecated code
- Removed
nsIGlobalHistory2.idl
and the docshell implementation ofnsDownloadHistory
- Removed the
nsIDownloadHistory::removeAllDownloads
function
- Removed
DownloadCore.jsm
is now the only responsible to add downloads, rather than sharing the task withnsExternalHelperAppService
- Cleaned up a bunch of old, deprecated code
- We are reducing the maximum favicon size from 256 to 192px. To shrink the favicons database size a bit, since nobody is using 256px icons in the UI.
Other
- Fixed a formfill autocomplete bug on the Google login page. Formfill will now act on keydown, rather than keypress, disallowing pages from bypassing it.
- There is a known issue on Windows 10 with the Antimalware Service slowing down the system when Firefox is running. A new Defender version, expected to solve the problem, should be available in the next weeks.
- SQLite now uses an exclusive locking vfs on Linux. This prevents some
SIGBUS
crashes and makes SQLite work more reliably on nfs filesystems. On the other side, it’s not possible anymore to access SQLite databases while Firefox is running. If you work with SQLite in Linux and need concurrent access to debug, you can create a booleanstorage.multiProcessAccess.enabled
pref and restart the browser.
Application Services (Sync / Firefox Accounts / Push)
- Carol fixed the threading model in the FxA client component for Fenix 🎻.
- Ed is removing dependencies on C libraries in Sync.next, preferring pure Rust libraries where possible 🦀.
- Thom is continuing to work on a Sync Logins API in Rust for Lockbox 🔐.
- Mark is working on a strategy for shipping the Sync.next Rust library in products 🚢.
- Lina fixed a bug where moving bookmarks between folders wouldn’t move them on other devices, and changed the bookmarks mirror to be snappier 📚.
Test Pilot
- Side View:
- A Firefox blog post drove about 10k new installs last week 🎉
- Interesting note: Side View is the 4th iteration of an idea that started out as a pre-57 XUL Overlay addon. Donovan recounts its history in a new blog post
- Color:
- Les has been live coding while he works on adding custom background image support (inspired by mconley :-). Check it out on twitch or youtube
- John has been working on palette generators
- Design intern Vicky is working on a complete UX overhaul for Color so we can replace Personas Plus which will be retiring soon.
- Send:
- Working with Platform to allow much larger file transfers via the WritableStream API. We hope to release a completely overhauled product experience when Streams are pref’d on in Firefox.
- Donovan has a working demo of Send for Android
- Test Pilot platform:
- Closed a ton of last minute bugs to make sure mobile launches were successful.
- Special high fives to Jess, Jesslyn, Cherry, Sylvestre, Devin, and Sandy for helping make our latest launch successful
- Screenshots:
- Heartbeat study is complete; talking with Teon on Friday about the results
- Talking with devtools about screenshots integration
Web Payments
- Prathiksha landed native
<select>
dropdowns. Dropdowns are going to be polished in a follow-up patch. - Sam is implementing error pages and handling the user closing the dialog with the native window controls, on platforms except macOS.
- Jared is breaking down work required to continue using a window modal
PaymentRequest
dialog for the MVP so we can compare to the effort required to build a new tab-modal widget. - MattN reports that header and footer visual polish has landed. The team is now working on payment card add/edit page improvements.
Below the fold
- Keep up with developments in other browsers by following @intenttoship, @ChromiumDev, and @MSEdgeDev!
- Remember
Services.[c|p]pmm.initialProcessData
? IntroducingServices.[c|p]pmm.sharedData
, a better solution!- Key-value store stashed in shared memory, instead of cloned to each content process
- Read/Write in parent, Read-only in content
- Decoded lazily
- Sync’d to content on idle (with
change
events firing on the message manager to let you know what updated)
- Check out Prathiksha’s intern presentation about her work on Web Payments!
Robert Ab wrote on