Firefox/Meeting/13-Mar-2018
From MozillaWiki
Contents
General Topics / Roundtable
- [mconley] Seen a bugfix land thatâll likely impact Firefox performance in a positive way? Help me let the world know!
- [mconley] Want to add a ChromeOnly WebIDL binding? Good news! As of this bug and this bug, you donât need DOM peer approval anymore! Ongoing discussion in dev-platform about the implications.
- [mconley] Help Ehsan eliminate annoying in-content popups by installing this add-on and reporting when pages display something like this.
Friends of the Firefox team
Introductions
- :Prathiksha got her Level 3 contributor access last week!
- Mike Kaply joined the Firefox team
- Resolved bugs (excluding employees): https://mzl.la/2DlmYcHÂ
- More than one bug fixed:
- :prathiksha
- Dhi Aurrahman
- Tim Nguyen :ntim
- :jonathanGB
New contributors (đ = First Patch!)Â
- đ Adam Kasztenny got rid of a bunch of dead code from the old about:newtab page
- đ Amy switched some tests from using a hand-rolled promiseTopicObserved to using TestUtils.topicObserved
- đ Aleksandr got rid of some dead code in the browser/modules directory
- Arthur Deschamps made sure that we send the user to about:privatebrowsing in private browsing windows at the right times
- đ Omar got rid of the unused gBrowser.tabContextMenu property
- đ Raymond converted some hardcoded colours in about:addons to CSS variables instead
- Daniel Marshall (:starsandspirals) renamed the âprofileStorageâ Form Auto-fill singleton to âformAutofillStorageâ to make its purpose more clear
- đ gregorywlodarek changed the label for a button in about:preferences so that it makes more sense
- đ kanika16047 switched a test from using a hand-rolled promiseWaitForCondition to using TestUtils.waitForCondition instead
- đ Michael Webster added support for showing download progress in the taskbar on Linux Mint
- đ Olivier Tilloy updated how we detect and set Firefox as the default browser on Linux when installed as a Snap package
- đ Videet Singhai removed the unused MEMORY_HEAP_COMMITTED_UNUSEDÂ Telemetry probe
Project Updates
Add-ons
- Including an embedded experiment in a WebExtension no longer breaks browserAction (uplifted to 59).
- Tab hiding shutdown now happens even if the API is unused, removing the possibility of hidden tabs staying erroneously hidden (fixed in 60).
- tabs.query() returns highlighted tabs when querying⌠highlighted tabs (fixed in 60).
- Dev tools panel drop downs expand as they should (fixed in 60).
- Async proxy.onRequest APIÂ (fixed in 60).
- ...and DNS resolve API added (also in 60).
- Improved information on where errors triggered by async APIs came from (in 60).
- Fixed an issue where extension sidebars reload unnecessarily (fixed in 60).
- (Never know if I should mention security bugs in here, but letâs just say that two of those have been fixed in 60.)
- Theming:
- You can now set the active tab line color (in 60).
- You can now change the background color of the selected tab (in 60).
- Narrowly avoided releasingtab_background_textmisnamed which wouldâve been bad for migrations of Chrome extensions (uplifted to 59 -- thank you, ntim).
Activity Stream
- Landed section context menu to help users manage the sections, such as remove section, collapse section, and other section specific options
- Landed section reordering, which allows users to change the layout of AS.
- Various fixes for bookmarks (Bug1444518, Bug1442383) and snippets (Bug1438368)
- Dashboard for Activity Stream Metrics Summary, Search, and User Preferences
- Move AS settings to about:preferenceswill be landed in 61 other than 60
Browser Architecture
- Only 5 XUL overlays left!
- XUL menu replacement planning.
- Working out naming for custom elements in chrome.
Lint
- No updates this week
Policy Engine
- Administrative templates being created to set policies through Windows GPO
- See how it looks: (screenshot removed because I didnât create it, I picked the one from ghacks just to show it in the meeting)
- Press picking it up
- Documentation on MDN
- Big marketing push for Firefox Quantum for ESR (aka Firefox 60) starting (probably) today, which will be talking about this feature
- Send feedback our way
- YUKI âPiroâ (from Tree Style Tab) contributing
Performance
- See any issues with it? Please file bugs and mark them blocking this bug
- mconley is getting rid of some sync reflows
- dthayer is moving ContentPrefService database queries off of the main thread
- dthayer also landed some probes to help shed more light on where tab switch spinners are coming from (theyâre likely from bugs in the async tab switcher!)
- Gijs got rid of some unneeded code from the old about:newtab page that was running during start-up
- Gijs is also making us way lazier at getting and parsing the blocklist, which should help reduce the amount of stuff weâre doing at start-up
- florian is working on making our performance tests more comprehensive and easier to write
- Reminder: Please queue Firefox front-endy bugs for triage with the [fxperf] whiteboard tag
Privacy/Security
- We are deprecating and removing the proprietary storage option for indexedDB.open() to get rid of the âindexedDBâ permission mess.
- Intent: https://groups.google.com/forum/#!topic/mozilla.dev.platform/3b700_oeAzo
- Compat Note: https://www.fxsitecompat.com/en-CA/docs/2018/storage-option-for-indexeddb-open-has-been-deprecated/
- We disabled the devicelight, deviceproximity and userproximity events.
- Weâre starting a quest to rid Firefox code of innerHTML and as a priority unsafeSetInnerHTML.
- You can use .textContent = ââ instead of innerHTML = ââ
- Tim added permission prompts for Web Authentication direct attestation (in which websites are asking for the non-anonymized token certificate).
- Chris Kerschbaumer changed the way chrome and about pages can communicate.
Address Bar & Search
- New switch-to-tab behavior for the autofill match was confusing users, now we will instead provide both the autofill match and a switch-to-tab one. (will be uplifted to 60)
- Landed a telemetry probe to better understand how users cycle through address bar matches with the keyboard
- A last minute backout happened for Firefox 59. The original scope was to put search suggestions first for new Quantum profiles with a unified urlbar, but it ended up applying to any unified urlbar profile. Weâre sorry about that and will do a post-mortem analysis of this mistake. A better fix is being worked on for Firefox 60. Note that thereâs a Shield Study that could end up doing the same change, you can verify if youâre involved in about:studies.
- Drew Willcoxon (:adw) is the new triage owner of Firefox :: Search. Gratz!
Places
- Fixed some regressions:
- the bookmarks dialog didnât save keywords anymore
- Misbehaving Drag&Drop in menu views
- open bookmarks in a new tab from the sidebar was broken
- Itâs no more possible to create third-party roots in Places. Weâll shortly remove anything that is not part of one of the official roots (menu, toolbar, unsorted, tags, mobile)
- Updated the Favicons for the default bookmarks
- Controller.js is now a lazy loaded script, rather than being loaded on each window opening. Additionally Bdahl is removing placesOverlay.xul!
- Bookmark tags autocomplete should not assert/crash anymore in debug builds
More
- Our Sqlite implementation now uses unique temporary file names (prefixed with âmz_â), to avoid confusing our temporary files I/O with other running apps
- Thom landed a patch to reuse transaction timeout timers in Sqlite.jsm â°.
- Kit changed Places to use immediate transactions by default. This fixes a storage thread hang with a cloned Places connection in the new bookmarks mirror.
Sync / Firefox Accounts
- Ed has a proposal for a way to detect copied and moved profiles đ.
- Ed is working on a client for Pushbox, a new service to store and fetch push payloads for the new âSend Tabâ đŚ, and also submitted a fix tohide Sync prefs when disabled đ, fixed a frequently-failing test caused by spurious syncs âď¸, landed a patch to write weakly uploaded records back to the bookmarks mirror đď¸ââď¸, fixed event telemetry views for Android đ , and radically simplified Sync error handling â ď¸.
- Thom improved tree logging for the bookmarks mirror đ˛, improved deduping for automatically restored bookmarks â¨, fixed a login check and cascading cleanup failures in TPS đ, added a test for duplicate synced passwords đ, and removed an old ân busted test đ.
- Mark is working on adding Web Push encryption to Firefox đ, removed remaining event loop spinning from Sync đ, made the bookmarks mirror handle item type changes gracefully âťď¸, fixed tag handling in the mirror đˇ, analyzed several mirror bugs đ, and filed a meta bug for Pushbox work!
- Kit moved Sync metadata for bookmarks and history into Places đş, and fixed and optimized deduping in the mirror đ. Working on a blog post for dogfooding!
Test Pilot
- Graduations set for 3/27 for Cliqz, Voice Fill, Snooze Tabs, Min VidÂ
- Firefox Themer updates:
- has sweet new new textures
- Launch dates are still TBD
- Technical blog post from Les: https://medium.com/firefox-test-pilot/fun-with-themes-in-firefox-54a3180f16e4
- Screenshots updates:
- Annotations launched! You can now crop, highlight, or draw on uploaded screenshots.
- Blog post on the way (pending legal approval)
- Find it on the Test Pilot medium: https://medium.com/firefox-test-pilot
- Upcoming: Firefox Accounts integration, porting the WebExtension to Chrome
- Blog post looking at our usage data: https://medium.com/@john.gruen/f0fbb5e9351f
Web Payments
- Only four remaining milestone 1 bugs!
- hsivonen is now working on DOM bugs!
- Fixed
- Don't dispatch shipping*change events if requestShipping is falseÂ
- Implement the payerName/payerEmail/payerPhone contact pickerÂ
- Success/failure screens
- Implement the "failure" screen for when the merchant rejects the payment and doesn't request retryingÂ
- Implement the "success" screen for when the merchant accepts the paymentÂ
- Cleanup/chores
- Use keydown instead of keypress to trigger display of the debugging panelÂ
- Forgot to call `sendMessageToContent` helper in "paymentDialogWrapper.js"Â
- Document the need to have e10s enabled for Web PaymentsÂ
- Add error option to the PaymentRequest debug panelÂ
- Next/In-Progress
- Success/failure screens
- Implement the "unknown"/timeout screen for when the merchant rejects the payment and doesn't request retryingÂ
- response.complete() does not make the completeStatus available to the payment UI serviceÂ
- Privacy/Security
- Require non-Cancel address-related user interaction on the payment sheet before firing shippingaddresschangeÂ
- PaymentRequest.show() must only be triggered by user activationÂ
- Cleanup/chores
- M2
This week I learned
- [mconley] about:devtools-toolbox?type=process
- Itâs like the Browser Toolbox, but itâs in the parent process in a content area. Handy for theme tweaking!
- [MattN] Following-up on a previous This Week I Learned⌠colored mochitest output is now enabled by default (for `mach test` and `mach mochitest`)!