- 1 General Topics / Roundtable
- 2 Friends of the Firefox team
- 3 Project Updates
- 3.1 Add-ons
- 3.2 Activity Stream
- 3.3 Browser Architecture
- 3.4 Electrolysis (e10s)
- 3.5 Firefox Core Engineering
- 3.6 Form Autofill
- 3.7 Lint
- 3.8 Photon
- 3.9 Platform Audibles
- 3.10 Privacy/Security
- 3.11 Search and Navigation
- 3.12 Sync / Firefox Accounts
- 3.13 Web Payments
- 4 This week I learned
General Topics / Roundtable
- [mconley] Firefox Quantum (57) is now on Beta! Developer Edition has also gone to 57! Tell everyone you know, tell people you don’t know, test like crazy, file bugs!
- [mconley] Probably a good idea to get used to ./mach try and ./mach try fuzzy since it sounds like pushing directly to try with trychooser syntax is going to go away.
Friends of the Firefox team
(Give a shoutout/thanks to people for helping fix and test bugs. Introductions)
- Resolved bugs (excluding employees): https://mzl.la/2fLz71p
- More than one bug fixed:
- Adam Hillier
- Maya Messinger
- Tomislav Jovanovic :zombie
- Tooru Fujisawa [:arai]
- New contributors (🌟 = First Patch!)
- 🌟 anting004 updated the icons used in the customize mode theme panel for the default, dark and light themes!
- 🌟 F Seita [:fseita] made the names for some of the variables and primitives used in the Telemetry back-end much clearer!
- 🌟 Maya Messinger updated the ordering of items in the Library panel to match the Photon spec!
- More than one bug fixed:
- Added a prompt for the devtools_page manifest permission.
- Switched browserSettings to be an optional permission.
- The address bar is now cleared when opening a new tab page that is being overridden by an extension.
- The enter key is now prevented from closing extension panels.
- The toolbar text color can now be modified separately from the global text color, via themes.
- A new default search engine can be added via the is_default option.
- A basic implementation of storage.managed is now available.
- browsingData is now able to clear IndexedDB data.
- about:preferences now shows when an extension is controlling the new tab page.
- Added support for the devtools.panels.elements sidebar.setExpression API method.
- Lots of performance fixes, bug fixes and code cleanup!
- Landed Activity Stream on about:home, passing all relevant Talos tests and Browser Startup benchmarks
- Landed improved Top Sites with full rich icon support (Bug 1399320)
- Fine tuned UX and knocked down many P2 tickets
- Pref’d on Activity Stream by default on about:newtab and about:home for 57 Beta cycle (GREEN status - no blockers)
- We are continuing to examine and improve overall performance of Activity Stream on about:home
- Formed a team to do a design review on XBL removal plans
- Sent out a front-end developer survey
- See our most recent newsletter!
- Improvements to memory usage means we might consider increasing the content process limit at some point in the future. Check out erahm’s blog post!
- Update agent work has begun, starting with the downloader, which plans to spin off the update download as a background process (so the update continues even if the user’s session ends). This is aiming for FF58.
- Optimized data in crash reports and crash ping processing have landed in FF57 (even though they were targeted for 58).
- JAWS client version has been added to the updater URL, just in time for 56.
- Long-standing updater icon re-purposing has been accidentally solved by Sync (thanks! o/).
- Will do a gradual rollout of Address Autofill for 56 (en-US in the US) with a Shield pref flip
- Credit card autofill quality is being improved and will ship when it’s ready (sometime after 57)
- [Form Autofill Manage credit cards dialog should have the ability to mask card numbers again after they are shown] </u>
- [Form Autofill Add "Learn more" links to SUMO pages in preferences] </u>
- [Form Autofill Fix manage addresses / credit cards line height problem] </u>
- [Form Autofill -"Form Autofill Preferences" is displayed under the profile suggestions on MacOS] </u>
- [Form Autofill - "Never Save Credit Cards" text is displayed with small c for credit in the door hanger] </u>
- [Form Autofill Collect information on how much time users spent on page with credit card forms] </u>
- Always build the form autofill system add-on but disable it by default on release </u>
- Form Autofill preferences should support search function </u>
- [Form Autofill Add a pref to hide credit card autofill feature] </u>
- browser_creditCard_doorhanger.js is going to permafail when Gecko 57 merges to Beta </u>
- [Form Autofill FormAutofillHandler.jsm, line 182: TypeError: fieldDetail is undefined] </u>
- [Form Autofill Disable credit card heuristics when credit card availability is set to false] </u>
- [Form Autofill Add test cases to check the search result that fallback from credit card fields] </u>
- In Progress
- Better handling of non-standard forms
- Improving credit card heuristics
- Landed some dependency fixes around eslint-plugin-mozilla.
- If you hit “TypeError: Cannot read property 'ecmaFeatures' of undefined", please rm -r node_modules (within top-level source directory), then try running ESLint again.
- mconley is working on getting tab warming working again - just getting through some test failures
- Florian is working on automated frame counting and flickering detection in screen recording videos.
- Swanky new panel animations landed!
- Going through some fall-out from this, mostly fixed on 58 in today’s nightly, awaiting uplift to 57 where required. If you can help figure out this issue where sometimes the wrong views show up in panels until you hover/cause a layout/paint (seems layout/graphics-related) that would be very helpful.
- Created a “Recent Highlights” list in the library, with data from Activity Stream
- Fixed a bunch of polish bugs.
- No update, triaging and helping out where needed
- Johann added an option to toggle extra vertical drag space on windows with tabs in the titlebar.
- Volunteer :Towkir replaced the bookmark toolbar icons with new shiny Photon icons.
- Dale prevented a strange bug where the tab bar would scroll when you leave customize mode.
- Johann finally made the Windows 7 tabs toolbar adhere to the Photon spec, clearing up a couple of bugs that had accumulated there during the last weeks.
- Nihanth switched the titlebar on OSX to always use the native appearance.
- Erica & Prathiksha (thank you!), Nihanth and Johann added new copy and illustrations to (almost) all the error pages.
- And lots! of small regression fixes and polish work.
- JSM’s are now sharing the same global! This means that the per-compartment memory overhead of creating new JSM’s is gone, and the cross-compartment wrapper “tax” when accessing objects across JSM’s is gone! \o/
- Containers officially launched as an add-on on AMO and got a lot of positive reactions.
- Related to that, we removed the (old) containers toolbar icon. See jkt’s email to dev-platform for more info.
- Prathiksha finished up a few polish bugs on permission management, we consider it MVP-ready and it’s shipping in 57.
- Address Bar:
- The network code fix to prevent speculative connections from showing certificate dialogs landed again in Nightly 58 and got uplifted. Speculative connections from the Address Bar will be enabled in Firefox Quantum.
- The Address bar now can merge results from the previous search into the current one, to reduce flickering of matching results. The patch also removed about 2000 “potential” reflows. (Firefox Quantum)
- Fixed wrong cropping of matching results in the Address Bar, regressed by the recent changes to the merging method. (Firefox Quantum)
- Added preferences to more easily show/hide the Search Bar in Photon. (Firefox Quantum)
- The recent Activity Stream work on favicons caused a couple regressions. We fixed favicons using “masked” icons even if we still don’t support them and tabs favicons using “rich” icons instead of common favicons (Firefox Quantum)
- The hashes used by Places to match on URIs are now faster to calculate. This change is partially non backwards compatible, so profiles downgraded from Firefox 58 to 57 may hit unexpected bugs when trying to modify/remove bookmarks/history for certain URIs (very long ones or containing high unicode chars)
- Since Quantum/Photon got priority, Places Async Transactions have been delayed to Firefox 58, to properly solve the remaining performance issues. But the work continues on functional regressions and async APIs conversion.
- We are going to launch a Cliqz funnelcake in Germany in the next days.
- Sqlite on Linux is now a tiny bit more I/O efficient thanks to a contributed patch by Wei Liang using fdatasync when it’s available.
Sync / Firefox Accounts
- Edouard is implementing native desktop notifications for Windows 8 and 10!
- Kit is porting structured bookmark application to Desktop from iOS. Instead of applying downloaded bookmarks directly to Places, we’ll stage them in a separate buffer, run a tree merge, resolve conflicts, and then update Places in a single transaction.
- This will fix a class of persistent bugs around random dupes, moves, reordering, incorrectly merged folders, interrupted syncs, and devices falling out of sync with the server.
- Thom is removing more event loop spinning from Sync.
- This should prevent Sync from spuriously appearing in performance profiles, unless it’s actually janking the browser.
- Edouard landed a more responsive Sync animation if you click “Sync Now” at startup before Sync has loaded.
- In-tree docs: https://firefox-source-docs.mozilla.org/toolkit/components/payments/docs/index.html
- Bug 1402210 - Add PaymentRequest UI documentation and do minor code cleanup
- Bug 1382388 - Make the PaymentRequest dialog unprivileged and remote plus add an abort button
- Dialog contents are now in a remote, unprivileged frame to improve security and responsiveness. See docs for more info.
- In progress:
- Bug 1383300 - Show origin and total roughly similar to the UX specs
- Platform bug hindering manual testing fixed by another landing
This week I learned
- [johannh] Heads up: There are windows without a navbar/urlbar. Extensions are able to create fully chrome-less popups (discussion in here)
- [jaws] Browser Toolbox (or regular page Inspector), right-click on node within Inspector and choose Copy -> CSS Selector to get a selector that resolves to the node that is selected (very helpful!)
- [gijs] If you’re like me you sometimes try to inspect something in the browser toolbox and XBL means “it doesn’t work” (the inspector doesn’t scroll to the right place, and if you look it up manually one of the parents has a little expander icon but no children). That’s tracked here, and a workaround is to use the search box in the inspector with a selector instead, and then expanding the tree.