Categories: Uncategorized

These Weeks in Firefox: Issue 15

A big thank you goes out to Johann Hofmann who put these headlines together while I was away on vacation!

Highlights

  • The Form Autofill feature is being enabled on Nightly this week (for @autocomplete on <input>). Stay tuned!
  • Firefox Screenshots is in Beta 2 preffed-off by default.  We’ll enable it very soon for everyone, or you can jump the gun by toggling extensions.screenshots.system-disabled .  If you run into anything fishy, please let #screenshots know

Friends of the Firefox team

(Give a shoutout/thanks to people for helping fix and test bugs. Introductions)

Project Updates

Add-ons

Activity Stream

  • Test Pilot Activity Stream
    • Activity Stream support for Pocket has landed in Test Pilot version.  Experiment launches May 1st (thanks csadilek!)
    • You can try it now by using the Activity Stream Dev channel
    • Updated to latest eslint-plugin-mozilla which now supports mozilla-central external repositories, but need to disable no-useless-parameters as we support older than Firefox 55 (thanks Standard8!)
  • Activity Stream system add-on
    • Search feed and UI landed
    • TelemetrySender landed
    • Top Sites feed landed

Firefox Core Engineering

  • Flash
    • Telemetry experiment ran on Nightly 55 from April 14 – April 23.
    • Shield Study defaulting to click-to-play will start on Release 53 in the next week and run for six weeks.
    • Default and (slight) additional UI land in 55.
  • Crash
    • Crash pings contain raw stacks (opt-out) as of Beta 54.
    • Crash pings exist for main, content, and GPU processes as of Beta 54.
    • Crash pings are sent via pingSender (i.e. right away) as of Beta 54.
    • Only one bug did not get uplifted to 54 — a new data point added to the crash ping (a form of client crash id) as of 55.
    • Working on identifying top crashers (by signature) currently. Intending to land while 55 is on Nightly.
  • Install/Update
    • Continue with phase 1 of the Update Agent, which will continue/complete the download of an update even if a session ends.
    • Looking into trying to encourage users on FF4.0 – FF35.0 to update past 35 prior to September 2017 (when their update server, aus3, expires).
    • Fun with Nahimic: it can (and has) prevented updates. Follow 1356637 for updates.

Form Autofill

Mobile

Photon

Performance
  • Lots of sync reflow bugs filed, thanks! We now have a big backlog to triage.
  • Several fixes landed for sync reflows, especially around interactions with the tab bar (thank Dão!) and the awesomebar.
  • Starting to profile startup, and there’s a lot of room for improvement there (loading JS modules lazily from nsBrowserGlue, loading the blocklist from JSON instead of parsing a big XML file).
  • A few tips:
    • Avoid calling .focus() several times in a row, each focus call currently flushes layout.
    • Avoid using setTimeout(…, 0), Services.tm.dispatchToMainThread(…) has less overhead.
    • Avoid using Preferences.jsm (especially during startup) if it’s only to have support for default values.
    • Avoid importing NetUtil.jsm only to use newURI, use Services.io.newURI directly instead.
Structure
  • Work starting on page action menu
  • Ongoing work on the hamburger and overflow panel
  • Ongoing work on having more than one level of nesting within panel subviews (the slide-to-the-side thing in panels) and update their styling
    • All the previous stuff is / will be behind a pref. We aim to flip that pref on Nightly in the near future!
  • We swapped the sidebar to the right… and then swapped it back again. Expect more updates to sidebars in the future (with the side of the window stuff still under investigation).
Animation
  • Animations themselves are in-progress. We intend to use svg spritesheet animations for animating icon states
Visuals
Onboarding
  • Have walked through questions about the UX and visual specs with verdi from UX in today’s onboarding team meeting.
Preferences

Platform Audibles

  • Pending results of experiment, Flash will be marked as click-to-activate by default starting soon in nightly. Pending results of SHIELD study this will ride to 55 release.
  • We’ve got initial page navigation numbers comparing Chrome and Firefox
    • In general we’re competitive with Chrome (+-20%), but a few cases show us far worse, in particular back navigation: filed bug 1359400
  • A bug that caused windows to be ghosts if touch events were sent is causing large CC pauses in Nightly and Beta. Fix in tomorrow’s Nightly.
  • Initial data shows that mean-time-between-failure (MTBF) for input jank:
  • 70+% of nightly users last week saw GC pauses >0.5s
  • ASK: if you see slow things, please install/use the gecko profiler and file bugs!

Privacy/Security

  • jkt wrote a blog post about the new “Always Open In This Container” feature in containers.
  • freddyb is writing a series of ESLint rules to catch common security problems in Firefox code. First victim: Eval and implied eval.

Project Mortar (PDFium)

  • Three milestones are set for better estimating our release schedule
    • Milestone 1 (target on Q2): feature landing. We are still trying to land our significant bits into mozilla-central, which are:
      • bug 558184 and 1344942: JSPlugin and plugin binary process creation and loading
      • bug 1345330: pull in Chromium source code (PDFium + Pepper API layer) into the tree and build with Firefox
      • bug 1269760: pdf printing (to paper). The most challenged part is converting PDF to EMF printing format on Windows, because we rely on PDFium to do the conversion. This means that the sandbox for plugin binary processes should allow PDFium to create device contexts and even access files. We are discussing with the Sandbox team
    • Milestone 2: release polish. (We haven’t figured out the release target but the conversation is ongoing)
      • focus on performance and stability (meta bug 1286791), telemetry and test automation for future proofing
  • Milestone 3: script support. will NOT in the first release. Still investigating its product value

Search

Test Pilot

  • Min Vid is celebrating its largest release yet with the addition of a play and history queue.  Add media you want to watch to your upcoming queue, or replay something you missed by clicking the history tab.  Min Vid currently works on YouTube, SoundCloud, Vimeo, and direct links to audio or video.
  • Pulse has added occasional (less than once a day) prompting for feedback to help avoid biased data.  If you want to help Firefox improve performance on your favorite sites, this is your chance.  The data from this experiment goes directly to the Firefox Product team to help prioritize improvements.
  • Snooze Tabs has gone world wide now supporting 23 locales.  In addition to using Snooze Tabs in your favorite language, you’ll also find an Undo button when deleting a snoozed tab.

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.