Firefox Headlines (October 10, 2018)

Mike Conley mconley at mozilla.com
Wed Oct 10 14:17:34 UTC 2018


Hello, team!

Yesterday, the Firefox Desktop team got together and chatted about the
latest happenings in the codebase. Here are our notes, with some curated
highlights!

Special thanks to Johann Hofmann and Mike de Boer who put these notes
together with me.
Highlights

   -

   Nightly now has greatly improved DevTools performance
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1494162> - we’re at an all
   time low for the Inspector open/reload time
   <https://firefox-dev.tools/performance-dashboard/tools/inspector.html?days=30&filterstddev=true&ignoreFlags=true>
   !
   -

   New tool in the Accessibility DevTools pane
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1473037> - you can now see
   contrast ratio and other information for text/background colors on hover
   when selecting elements in the Accessibility Inspector
   -

      [Screenshot]
      <https://screenshotscdn.firefoxusercontent.com/images/2238a27c-ab55-4a0a-ad25-fae8006eab45.png>
      -

   WebExtensions can now create DevTools sidebar panes
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1398734>
   -

      [Screenshot]
      <https://screenshotscdn.firefoxusercontent.com/images/b27761ae-2901-433e-b016-193efcac1d01.png>
      -

   Firefox Monitor launched <https://monitor.firefox.com/>! This is a
   privacy-conscious service that lets you see if you were part of any recent
   data breaches. Read more here!
   <https://blog.mozilla.org/blog/2018/09/25/introducing-firefox-monitor-helping-people-take-control-after-a-data-breach/>
   -

   Did you know that much of the Firefox Front-end is written in
   JavaScript? We wrote a post about how we use open-source tools like
   ESLint to keep that JavaScript clean
   <https://www.thebanners.uk/standard8/2018/10/03/whats-next-for-eslint-on-firefox-source-code/>
   .
   -

      We also have a roadmap
      <https://docs.google.com/document/d/1ORqed8SW_7fPnPdjfz42RoGfWH5Gn4RMKKFPaPrGpZo/edit>
      to migrate more of our front-end to standard web technologies
      -

   Firefox for Fire TV
   <https://www.amazon.com/Amazon-Fire-TV-Family/b?ie=UTF8&node=8521791011>
   v3.0, featuring Pocket video recommendations, has been submitted to the
   Amazon App Store and should release soon
   -

   Firefox for Echo Show releases soon on the new 2nd generation Echo Show
   device
   <https://arstechnica.com/gadgets/2018/10/echo-show-2018-review-more-to-tap-more-to-see-more-to-do/>

Friends of the Firefox teamResolved bugs (excluding employees)
<https://mzl.la/2C5lg28>

   -

   Fixed more than one bug
   -

      Abdoulaye O. LY
      -

      Sean Reeise [:sreeise]
      -

      Tim Nguyen :ntim
      -

      Tomislav Jovanovic :zombie
      -

   New contributors (🌟 = first patch)
   -

      🌟 Markus Staab [:maggus.staab] removed two
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1491784> expensive
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1491786> selectedItem
      getter accesses in the tabbed browser.
      -

      🌟 Amir fixed a bug
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1469533> where the
      Network Monitor would mangle the display of the response body
      -

      🌟 Raza Haider ported about:restartrequired
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1488788> to Fluent
      -

      Jason Chapin made the naming
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1451715> of some
      SessionStore.jsm methods clearer
      -

      🌟 kenokamo fixed the contrast of the Tracking Protection icon
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1487602> in the Network
      Monitor
      -

      🌟 lennonj1 ported about:config
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1486936> to Fluent
      -

      Lucas Luna Souza fixed the Network Monitor
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1472875> so that it
      also displays the HTTP response code text
      -

      🌟 meag.harty fixed a bug
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1492730> where the
      Network Monitor wouldn’t let you Edit and Resend an XHR when filtering
      requests by XHR

Project UpdatesAdd-ons / Web Extensions

   -

   Search engines are being converted to WebExtension style packaging (tracker
   bug <https://bugzilla.mozilla.org/show_bug.cgi?id=1486811>)
   -

   about:addons is getting some visual tweaks
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1489296>.
   -

   Content scripts can now read
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1484980> from a <canvas>
   that they have modified.
   -

   Small fixes/improvements to the identity
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1494328> and menus
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1416839> APIs.

Browser Architecture
<https://mozilla.github.io/firefox-browser-architecture/>

   -

   Tree replacement plan
   <https://docs.google.com/document/d/1lrWIAKTGfyO8_FaAScUc9V57jyZdM-odig00MmFh9HA/edit>

Developer Tools

   -

   📲 Remote Debugging: you can now connect to remote tabs on devices (set
   devtools.aboutdebugging.new-enabled to true, install the ADB extension,
   connect your phone, open about:debugging).
   -

   ⚛ DevTools Fission: work continues to refactor the devtools remote
   protocol transport layer in order to make transitioning to Fission easier
   (check out the enormous bug dependency tree
   <https://bugzilla.mozilla.org/showdependencytree.cgi?id=1451861&hide_resolved=0>
   ).
   -

   🐛 Debugger:
   -

      Quality and stability: improving Step Out
      <https://bugzilla.mozilla.org/show_bug.cgi?id=923975> (to avoid
      having to click several times), maintaining the expanded state
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1491471> for variables
      while stepping, auto-expanding the source file currently open in the
      Sources pane.
      -

      New features in development: column breakpoints
      <https://github.com/devtools-html/debugger.html/pull/7064> and XHR
      breakpoints <https://bugzilla.mozilla.org/show_bug.cgi?id=821610>.
      -

      Prototypes
      <https://docs.google.com/document/d/14thb3-VusWtPN8Co1MERbvIupq7ZUs_CCv9Yoq3CJOw/edit>
      ongoing for WebReplay in DevTools (note that WebReplay is ON in nightly!)
      -

   💻 Console: The "Boogaloo" project completed <https://mzl.la/2scfkO5>:
   JSTerm (the console's input bar) is now more powerful and easy to use
   (syntax highlighting, in-line style, top-level await, autocompletion
   improvements, history reverse search).
   -

   🖌 Design Tools:
   -

      You can now overlay multiple CSS grids at the same time (bug 1317102
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1317102>).
      -

      The new flexbox item sizing tool is shaping up really nicely (share
      the love on twitter
      <https://twitter.com/patrickbrosset/status/1048216264928362496>, bug
      1478396 <https://bugzilla.mozilla.org/show_bug.cgi?id=1478396>).
      -

      And we're working hard on landing our first version of CSS changes
      tracking in the inspector
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1429247>.

Fission

   -

   Added a mechanism to simulate Fission for current frame scripts and
   actors <https://bugzilla.mozilla.org/show_bug.cgi?id=1490810> depending
   on events, allowing us to write Fission-compatible code and later prevent
   the landing of Fission-incompatible code
   -

   Created a patch to simulate a potential Fission API for the parent
   process to communicate with child actors
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1493984>, for a similar
   reason as above
   -

   Built a proof of concept
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1497280> for the Fission
   API above for the DateTimePicker

Lint <https://firefox-source-docs.mozilla.org/tools/lint/index.html>

   -

   ESLint now uses node from the .mozbuild directory if it is present there
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1482435> (if you’ve run
   bootstrap recently).
   -

   Preparing to land comma-dangle for the rest of mozilla-central
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1486741> next week (Fri
   20th Oct)
   -

   We also have various mentored bugs underway for enabling ESLint on more
   test directories (e.g. parts of docshell
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1496082> + dom
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1423843>)

Mobile

   -

   Firefox for iOS 14 is on it’s way to the App Store. The second release
   candidate will go out to QA in the week of the 8th for final verification.


   -

   Android Components 0.25 shipped. Highlights of this release:


   -

   Improvements


   -

   We have a new component feature-intent that provides intent processing
   functionality.
   -

   Added WorkManager implementation for updating experiment configurations
   in the background.


   -

   Fixes


   -

   Fullscreen mode would only take up part of the screen.
   -

   A crash that could happen when loading invalid URLs
   -

   A bug in FlatFileExperimentStorage that caused updated experiment
   configurations not being   saved to disk.


   -

   More here at the changelog
   <https://mozilla-mobile.github.io/android-components/changelog/>

Performance

   -

   florian
   -

      New about:performance UI has been enabled by default in Nightly
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1496506>!
      -

         File bugs in Toolkit :: Performance Monitoring
         <https://bugzilla.mozilla.org/enter_bug.cgi?product=Toolkit&component=Performance%20Monitoring>
         -

      These are the about:performance mock-ups
      <https://mozilla.invisionapp.com/share/SDOE65KGU2Z#/screens/323554995>
      for what we hope to eventually ship to release users.
      -

         Shows an Energy Impact score in abstract units per tab / script /
         add-on
         -

         Allows user to close the tab, and in the future pause its
         JavaScript execution
         -

   Gijs
   -

      Further work to avoid spurious about:blank creation
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1493606>
      -

         Made nsISecureBrowserUI::Init take a docshell
         <https://bugzilla.mozilla.org/show_bug.cgi?id=1493655> instead of
         a content window
         -

         Working to make the docshell responsible for determining a
         window's outerWindowID
         <https://bugzilla.mozilla.org/show_bug.cgi?id=1493634>, so we don't
         have to end up creating an about:blank window just to get it
         <https://bugzilla.mozilla.org/show_bug.cgi?id=1496360>
         (outerWindowID will remain on window, but is also now on the docshell)
         -

         Fixed an error in BrowserWindowTracker
         <https://bugzilla.mozilla.org/show_bug.cgi?id=1493628> where it
         was not properly accounting for Browser::Init messages being from
         background windows
         -

         Bunch of investigation
         <https://bugzilla.mozilla.org/show_bug.cgi?id=1492480> (thanks
         Neil!) in focus issues on Linux that reared their head with some/all
         attempts to reduce about:blank creation. Going to keep going
with addressing
         this in tests
         <https://bugzilla.mozilla.org/show_bug.cgi?id=1497364>.
         -

      Also looking to make sure our IME code doesn’t cause focus entering
      input/textarea/contenteditables to flush layout
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1358813>.
      -

   mconley
   -

      Working on separating the Activity Stream content process
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1472212>. This will let
      us take advantage of the ScriptPreloader work that imjching worked on
      during his internship.
      -

         Stopped sending CPOWs from RemoteWebProgress.jsm
         <https://bugzilla.mozilla.org/show_bug.cgi?id=1492482>
         -

         Made RemoteWebProgressManager survive content process switches
         <https://bugzilla.mozilla.org/show_bug.cgi?id=1496848>
         -

      Have patches up to gut browser-tabsintitlebar.js of layout logic
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1356920>, and put most
      of the onus on the Gecko Layout engine to put the tabs in the titlebar
      -

   dthayer
   -

      Working on splitting our input to WebRender into multiple documents /
      render roots <https://bugzilla.mozilla.org/show_bug.cgi?id=1441308>,
      allowing us to eventually output these to separate framebuffers which we
      can hand to the OS compositor, allowing us to not have to paint the whole
      window every time something in the chrome changes / animates
      -

      Fixed a tab switch regression blocking the process priority manager
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1495032>. Hoping to enable
      process deprioritization on Windows in Nightly shortly
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1476981>, allowing us
      to deprioritize processes of background tabs
      -

      Sorted out a kink with deferring InitOSFileConstants' startup IO
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1388134>, due to
      off-main-thread use of nsDirectoryService, which maintains a
      non-thread-safe cache
      -

      Wrote a blog post about the Client Storage work on macOS
      <https://dthayerblog.wordpress.com/2018/09/21/client-storage-on-osx/>

Policy Engine

   -

   New Policy for Security Devices (PKCS #11) landed
   -

   New Policy for DNS Over HTTPS being reviewed
   -

   Up Next:
   -

      Installing certificates
      -

      Browser Startup Page
      -

      Changing Locale
      -

   Plan is for all policy changes to be in by the end of the week

Search and Navigation <https://wiki.mozilla.org/Firefox/Search>Address Bar
& Search

   -

   Bookmarked origins are now autofilled
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1493636> regardless of
   their visited status
   -

   Fixed autofill when only bookmarks
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1489060> should be
   suggested
   -

   Fixed a problem with highlighting
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1491724> search engine
   aliases in the Address Bar
   -

   Fixed a bug where scrolling in the search bar
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1496478> may change the
   current search engine

Places

   -

   Reduced history I/O when the same page
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1489503> is refreshed by a
   call to location.hash and the page title doesn’t change

Web Payments <https://wiki.mozilla.org/Firefox/Features/Web_Payments>

   -

   Completed our Milestone 3 at the end of Q3!
   -

      Planning to enable Payment Request with basic-card on Nightly in the
      next week or so for en-US builds in the US and CA
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1481971>
      -

   Started Milestone 4 this week with the goal of completion by end of Q4.
   Priorities are: the tab modal payment sheet, handling spec additions (e.g.
   retry, merchant field-specific errors, and new events) and error handling
   -

   Completed
   -

      Prefs
      -

         Link to Firefox Options/Preferences from the PaymentRequest dialog
         <https://bugzilla.mozilla.org/show_bug.cgi?id=1432939>
         -

         Update the Preferences text and layout for Web Payments
         <https://bugzilla.mozilla.org/show_bug.cgi?id=1470184>
         -

      Change PaymentRequest UI to support users retrying upon payment
      failure <https://bugzilla.mozilla.org/show_bug.cgi?id=1435163>
      -

      Add tooltip beside 'save to Firefox' checkbox
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1470168>
      -

      Save/Next button Refinements
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1473662>
      -

      Credit card network logos
      -

         Show card network logos on the card add/edit screens
         <https://bugzilla.mozilla.org/show_bug.cgi?id=1477102>
         -

         Use card network icons in manage credit cards list
         <https://bugzilla.mozilla.org/show_bug.cgi?id=1495530>
         -

      Add the CVV security code field to the add card form and make it
      required in all places
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1490805>
      -

      Remove Custom Elements polyfill from Web Payments UI
      <https://bugzilla.mozilla.org/show_bug.cgi?id=1496698>
      -

   In Progress
   -

      -

      Tab-modal Payment Request sheet
      -

      CVV Tooltip
      -

      "Forms & Autofill" about:preferences regression

Below the fold

   -

   [mconley] MyQOnly
   <https://addons.mozilla.org/en-US/firefox/addon/myqonly/> (WebExtension
   that puts review count in the browser toolbar)
   -

      Updated to use pagescraping for Phabricator, which should give you
      much more accurate results (there were some cases that would fall
      through <https://github.com/mikeconley/myqonly/issues/2>)
      -

      Source <https://github.com/mikeconley/myqonly/>. Pull requests and
      issues welcome.
      -

   [mconley] In this recent bug
   <https://bugzilla.mozilla.org/show_bug.cgi?id=1496848>, I made
   RemoteWebProgressManager transfer listeners between process flips
   -

      This means that nsIWebProgressListener’s attached to <xul:browser>
      will survive remote-to-remote process flips. But they’re lost as soon as
      they cross the remote-non-remote boundary.
      -

   (from Mossop and Gijs) - If you need a true binary file, TextDecoder
   does NOT work. Use File.createFromNsIFile(certfile) and then a FileReader
   (reader.readAsBinaryString(file)) [mkaply]


This information, including all of the previous updates, are fully
available in this doc:
https://docs.google.com/a/mozilla.com/document/d/1u9YH3ULNRYg6G-fN-Udkvfkcvg0alJfzi_zIAfFNkL8/edit?usp=sharing

Also note that I'm really just synthesizing and humanizing the stuff that's
on the Wiki, which is freely available from here:
https://wiki.mozilla.org/Firefox/Meeting, so check that out if you want the
source material. It'll also be posted (minus the Below the Fold stuff) to
the Nightly blog.

Finally, if there's a Firefox-ish team that you feel isn't being
represented here, please let them know about the above meeting so we can
get their updates.

Keep on rockin' the free web,


-Mike
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/firefox-dev/attachments/20181010/3afc39ee/attachment-0001.html>


More information about the firefox-dev mailing list