Highlights
- Check out the blog post on hacks.mozilla.org on using the new theming API in Firefox
- evanxd added a spotlight feature to Preferences so that it’s easier for “help” links to highlight relevant things!
- Here’s the UX spec in case the above description isn’t clear enough
- OMTP (Off-main-thread-painting) should be shipping to release in Firefox 58. Here’s a blog post explaining what it is and why it’s great!
- A highly requested Screenshots feature is now in Nightly: Added the ability to copy the image to the clipboard in addition to the other choices of uploading or saving.
- A group of students at MSU have finished working on the Browser Screenshots testing suite for their Capstone course.
- Here’s their presentation video
- Here’s their presentation video
Friends of the Firefox team
- Resolved bugs (excluding employees): https://mzl.la/2je7cZF
- More than one bug fixed:
- Ryan Leake
- Tim Nguyen :ntim
- Tushar Arora
- New contributors (🌟 = First Patch!)
- 86ecce74 flattened some excessive inheritance, which got rid of another XBL binding. It’s great to see the XBL binding count go down!
- 🌟 Andrej Gorovoj cleaned up some element IDs in our prompting code.
- 🌟 Oliver Alonzo fixed a bug where right-clicks in about:preferences were interpreted as left-clicks.
- 🌟 Sean Prashad fixed some SASS linting errors in Activity Stream
- 🌟 Tushar Arora made the tabs.query WebExtension API support regular expression patterns, and also made it so that WebExtensions can clear title prefaces with the empty string
- More than one bug fixed:
Project Updates
Add-ons
- The theme API now has support for setting the urlbar and searchbar border color.
- A message is now displayed on about:preferences after a user disables an extension reminding them how to re-enable it.
- Calling tabs.create without a windowId will now target only non-popup windows.
- browserSettings APIs were added for controlling the options to open bookmarks in new tabs and to open search results in new tabs.
- Tabs.query now does pattern matching on the title.
- Read-only browserSettings now return false when calling set or clear and also report an accurate levelofControl.
- “Scrollbars” has been added to window features for windows created via identity.launchWebAuthFlow.
- The pref for ui.context_menus.after_mouseup has also been exposed to extensions via the browserSettings API.
- The user is now notified the first time they visit the new tab page if an extension is controlling it.
Activity Stream
- Uplifted a couple of critical patches to 58 (Pocket Personalization, and Indonesia newtab breakage)
Browser Architecture
- Sync and Storage roadmap proposal successfully passed review
Form Autofill
- Improved the accuracy of identifying fields related to credit card expiration date.
- Fixed an issue that the cached “searchString” in the autocomplete module isn’t consistent with the actual value in the input element.
- Heartbeat for credit card autofill is live.
Lint
- If you use `git mozreview push`, then lint should run automatically against the files in your push.
- You may need to run `./mach mercurial-setup` to pick up the latest version-control-tools.
- Requiring the use of Services.jsm rather than .getService continues to roll out, all of toolkit/ & services/ now covered, browser/ is on its way.
Mobile
- Firefox for Android can be used as an “Assist App” again! This means that long pressing the home button launches Firefox with a new tab ready for typing a search query or URL.
- This feature was temporarily lost when the Search Activity / Widget was removed in Firefox for Android 58, and should be fixed in Firefox for Android 59
Performance
- Tab warming has landed, but is disabled by default
- There is a bug where links that are opened in new tabs sometimes show perma-spinners with warming enabled, so haven’t yet enabled by default.
- There’s another, harder-to-hit bug where permanent spinners can be presented to the user after closing tabs. This doesn’t require warming to be enabled, and is marked as a regression.
- There’s also a Talos regression being investigated. Hooray!
- Pref: browser.tabs.remote.warmup.enabled
- There’s a reason this isn’t yet enabled on Nightly though. Expect perma-spinners until the blockers for this bug are fixed
- Patches are up to make FormHistory.jsm use Sqlite.jsm instead of mozIStorageService, which allows us to avoid some main-thread IO when FormHistory is first accessed.
- We now have automated tests to prevent flickering regressions during startup and when opening new windows.
Platform Audibles
- samael made it so that nsBrowserStatusFilter::OnStateChange only gets STATE_IS_NETWORK updates.
- Tommy Kuo is moving <select> dropdown rendering into the content process. This should re-enable a bunch of styling capabilities, and greatly improve performance and responsiveness for dropdowns with many items
- The plan is to retain the OS native styling unless overridden by content
- billm is removing the Add-on Interposition Service, a.k.a. “transparent CPOWs for legacy multiprocess-incompatible add-ons”
- WebRender is going to make tab switching even faster
Privacy/Security
- The official Firefox Multi-Account Containers extension has passed 100k downloads on AMO.
- nsIPermissionRequest now includes an isHandlingUserInput field to easily see whether the prompt comes from a user action.
- We’re starting a project to improve the user experience around site data (including cookies and cache) management. You can follow along here. Also thinking about how we can de-duplicate code that does data sanitization for users.
- Heads up: The definition of window.isSecureContext has changed to not consider the window opener anymore.
Search and Navigation
Address Bar & Search
- The Address Bar now freezes an ongoing search when the selection is changed through the keyboard, to avoid surprising the user by moving matches around
- With the update to Firefox 57.0.1, some users may experience a search reset. If they had their default a search plugin installed before Firefox 45 or installed by a legacy add-on, it will be silently reset to the default engine of their region. Users who are more likely to have customized the engine will see a prompt offering an easy one click way to keep the current default.
- Fixed some very frequent intermittent failures in browser_ext_omnibox.js
Places
- Landed a patch to reduce I/O when storing unchanged page metadata for Activity Stream
- Landed some clean up work for Places Maintenance
- Mardak fixed browser code to guess a favicon type from the file extension when the “type” attribute is not defined
- Milind contributed a patch making place:tag=NN queries case insensitive
- Doug Thayer landed 2 performance improvements in history: speeding up url hashes generation, and using a single runnable to notify multiple visits.
More
- :Kit made Sqlite.jsm copy over temp entities when creating a writable clone of a connection
Test Pilot
- Check out our recent blog posts on updates to the Notes experiment and on usage of react-storybook on the Test Pilot website
- Screenshots updates:
- Highly requested feature now in Nightly: Added the ability to copy the image to the clipboard in addition to the other choices of uploading or saving.
- Tracking Firefox changes needed to become a pure WebExtension in bug 1422437
- Features coming soon: annotations (draw on your shots) and FxA integration
- A/B testing on two small website features shipping soon
Web Payments
- Making progress on the dialog and use of Custom Elements for implementing the dialog and UI components within it
- Continuing refinement on UX specs
Here are the raw meeting notes that were used to derive this list.
Want to help us build Firefox? Get started here!
Here’s a tool to find some mentored, good first bugs to hack on.
Kshitij Chawla
wrote on
Sebastian
wrote on