Firefox/Meeting/28-Aug-2018
(Mozilla Non-Confidential)
Today’s meeting leader is: MattN
Contents
General Topics / Roundtable
- We’re in a soft code freeze until after the version bump to 64 on September 4th.
- [bgrins] can you point me to any examples of xul flexbox and css flexbox interacting badly together? I have a couple of examples but I know I’ve ran into this type of issue more often than that and am having trouble finding references.
- nsISimpleEnumerator now works as a JS iterator!
- Run `mach vcs-setup --update-only` regularly. Now with Git support!
Friends of the Firefox team
- Welcome DevTools to this meeting! DevTools contributors are now included in the lists below 🎉
Introductions
Resolved bugs (excluding employees)
Fixed more than one bug
Arshad Kazmi
Diego Pino
ExE Boss
Florens Verschelde
Sahil Bhosale
Thi Huynh
New contributors (🌟 = first patch)
🌟 Arshad Kazmi swapped out a promiseWaitForCondition with TestUtils.waitForCondition, and got rid of the unneeded BrowserOpenSyncTabs function in browser.js!
🌟 Christian Salinas got rid of an unnecessary fill rule in our Content Blocking CSS code!
🌟 Diego Pino got rid of an unneeded utility function in our search code, and also made sure that the search service properly iterates elements in searchplugin XML!
🌟 Guangyu Song made the sidebar header text look much better on macOS!
🌟 Jennifer Wilde converted some of our DevTools code to use modern Promise semantics, rather than the “defer” model!
🌟 Sahil Bhosale added some ES6 default parameters to updateBrowserRemotenessByURL, and also got rid of some unneeded styles!
🌟 Sriharsha also got rid of some unnecessary CSS rules!
Project Updates
Add-ons / Web Extensions
- New (mozilla-only) WebExtension API for Telemetry
- Sidebars can now be themed
Activity Stream
Team has a work week for getting CFR feature ready. This will not be the final design, this is just what currently landed in m-c
Full design: https://mozilla.invisionapp.com/share/YWLSGDZGUSF#/screens
For the first iteration we will recommend addons https://docs.google.com/spreadsheets/d/132NbUoIFfga9N_LCHrPl1ENLWMHDaBWZxEurh3yiLp4/edit#gid=810854690
We added support for Remote Settings in Activity Stream Router bug 1484049
This offers us the possibility of pushing messages out of band to users (similar to snippets)
- Published the 7th XUL/XBL Replacement Newsletter.
Developer Tools
Thank you Florens Verschelde for making icons & alignment consistently styled in Console
- :honza landed support in Network panel for marking resources that will be affected by content blocking.
- Thanks to nchevobbe and bgrins, we now have syntax highlighting in the Console for input and logged statements!
- 602x170px
- :victoria called for UX contributors, and they came to contribute designs!
- First prefers-reduced-motion use to disable animation in devtools toolbox tabs by :hiro & :mantaroh. Also used in Shadow DOM slot animation by :ladybenko.
- :yulia wrote about about the new :screenshot command for console (Bonus: Eric Meyers did too!)
:gl landed the new design for Responsive Design Mode (RDM)
New left-aligned viewport mode
Next: Updating device list & new manager interface
- :jlast massively improved performance for opening the debugger, and cutting out main thread impact when keeping it open in the background
- :jimb fixed Open in Debugger link for Firefox frontend Custom Elements
- 602x242px
- Work is continuing to implement document.l10n through webidl for UI pages. Patch is basically r+ but needs some changes to fix a performance regression before it can land.
- Student project will be starting this week to migrate strings from dtd/properties to Fluent
- As discussed on firefox-dev, ESLint rule comma-dangle will be enabled on Friday (31st Aug) for browser/ services/ taskcluster/ toolkit/, with commas being inserted where necessary (~1576 files). The rest will be enabled ahead of the 64 merges.
Performance
Harald
perf.html improvements:
- Improved hiding-idle-threads landed based on category information (pull 1218), works better for Workers
Previews of WIP timeline features
Network track (preview, pull request)
Screenshot track (preview, pull request)
Sidebar for JIT optimizations (preview, pull request)
felipe
Has started research on implementing the Photon designs for tab opening and closing animations. This should move the animations off of the main thread, and onto the compositor, and should improve perceived performance in tab operations.
Gijs
Is making it so that the initial browser is inserted dynamically, which takes us a good chunk of the way towards avoiding the initial about:blank load when creating new windows
Browser adjustment research continues apace - a metabug has been filed.
mconley
Got writing metadata on downloaded files off of the main thread for macOS
Is fiddling with re-organizing browser.xul so that the tabs and menu toolbars are inside the titlebar, in order to move as much of the layout work for tabs in titlebar into our layout engine (and out of browser-tabsintitlebar.js where we’re flushing a bunch!)
Policy Engine
- Nothing major.
- Will soon be prioritizing new policies.
- Autoconfig Sandbox moved behind pref for 63, no timeline for removal (Talos dependencies)
Privacy/Security
436x189px
Ehsan and Tanvi have been working on a new Content Blocking category that gives you more options for blocking third party cookies (such as only third party cookies from trackers).
338x191px
jkt has been digging deep into how we pass triggeringPrincipals (principals that are used to open websites) in the last months. The end goal is to avoid any implicitness in what principals we use and never fall back to system principal as default.
This means that you’ll see (and probably have already seen) a lot more “triggeringPrincipals” being required in your function calls.
A recent example: Bug 1362034 - Have addTab() provide the correct triggeringPrincipal
This bug is the final boss: Bug 1333030 - [meta Assert nsDocShell::loadURIWithOptions receives a non null triggeringPrincipal]
Address Bar & Search
Bug fixes:
Top Search feature from the New Tab Page:
- The follow-on system add-on has been removed (now part of the core code)
- The Search from Address Bar Onboarding Study has been deployed to english locales (for now)
Places
- Page annotations are now asynchronous and managed through the History API
- Fixed a regression where the native menu bar bookmarks menu is not shown if there’s no browser window
Application Services (Sync / Firefox Accounts / Push)
- No updates this week.
Test Pilot server recently upgraded a ton of old dependencies (PRs 3815, 3816, 3820)
Discovered that non-deterministic dependency resolution can be mitigated by only using exact dependency definitions in package.json (no carats), in addition to checking in our package-lock.json
Depcheck was a useful tool for discovering unused and missing packages
Webpack 4 had many breaking changes for us, Les Orchard powered through those changes.
Flowtype updates forced us to fix a lot of our type definitions which exposed some bugs which were fixed in the process !!
Screenshots
Bootstrap removal continues; see metabug on github (BMO bug is slightly out of date).
Using the new Mozilla-only WebExtension Telemetry API (bug 1280234) to submit events to main ping (3713)
Moved Page Action from Photon to WebExtension and back until 63 branches, we discovered a few UI bugs late in the cycle (see blockers of 1466575)
UI redesign + FxA work continues on the server (see FxA bugs on github)
- Thanks to Prathiksha for finishing bug 1475760 after her internship ended!
Completed
PaymentRequestService doesn't clear requests from closed documents
Form fields shouldn't be marked invalid immediately for an add form, only an edit form
Payer/contact picker dropdown labels need to take @address-fields into account
Figure out why add/edit form strings don't appear on Nightly builds
In Progress
Bug 1477105 - Add a card network dropdown to the credit card add/edit screen
Bug 1480717 - Credit card form can be saved without a billing address
Bug 1472026 - Implement PaymentResponse.prototype.onpayerdetailchange
Bug 1483470 - Navigating during paymentRequest.show() crashes the parent process
Bug 1463545 - Replace grid layout of <rich-option> subclasses with new UI spec
This week I learned
- [MattN] page-break-after/page-break-before have new meaning in flexbox
- [MattN] @media (prefers-reduced-motion) (https://css-tricks.com/introduction-reduced-motion-media-query/)
[johannh] Careful when using /g flags in regex https://stackoverflow.com/questions/1520800/why-does-a-regexp-with-global-flag-give-wrong-results
The RegExp object keeps track of the lastIndex where a match occurred, so on subsequent matches it will start from the last used index, instead of 0.
If you don't want to manually reset lastIndex to 0 after every test, just remove the g flag.
- [johannh] We have an amazing tool for viewing translations https://transvision.mozfr.org/
Meeting Leader Rotation
Add your name below if you want to be in the rotation of leaders:
- mconley
- lina
- johannh
- MattN
- RyanVM
- felipe
- mikedeboer
- 6a68