Platform/2014-Q1-Goals

From MozillaWiki
Jump to: navigation, search

Platform

2014 General Goals

GFX

Items marked here with release 29 and 30 are part of the Q1 landings.

Layout

  • [DONE] Start CSS Grid implementation
  • [DONE] Fix multiple relative positioning issues (eg. bug 35168, bug 63895)
  • [MISSED] Ship display:box (bug 907396)
  • [DEFERRED] CSS scroll-snapping (bug 945584)
  • [DONE] Ship input=number internationalization features
  • [CARRY OVER] Migrate SVG to Moz2D (bug 703159)
  • [DONE] Vertical text: Implement Layout frame migration to logical coordinates
  • [CARRY OVER] Text Performance bugs ( https://etherpad.mozilla.org/textperfworkitems )
  • [DONE] Improve Restyling Performance (bugs like bug 931668)
  • [CARRY OVER] Ship Flexbox Pagination (bug 939897 and helpers)

Media

  • [MISSED] Enable MSE support for YouTube in Firefox 30 for Windows Vista, 7 and 8

DOM

  • [MISSED] New bindings for Window completed
    • This was the focus for the bindings guys this whole quarter, and it's basically done, but not landed yet. We've seen green on try, but we've also found other issues in merges etc, so can't call this a hit even though the hard parts are all done.
  • [MISSED] ICC enabled
    • This is done, but incrementally collecting cycles made a few existing intermittent leaks be much less intermittent (i.e. more reproducible so we can actually debug them now). So done, but not landed due to the leaks that got more frequent.
  • [DONE] NUWA enabled by default for b2g.
  • [DONE] Xray wrapper support for at least one pure ES object (non-DOM object, specifically bug 975042) (bholley).
  • [DONE] fix url spec parser bugs (annevk)
  • [DONE] fix encoding spec bugs (algorithm revamp, clarify layering based on streams) (annevk)
    • Anne fixed a few bugs here but also worked on the situation via other channels, notably with Henri.
  • [DONE] xhr feature requests (response url, etc.) (annevk)
  • [DONE] Remove the overhead of off-the-main-thread parsing machinery from innerHTML parsing (bug 959150) (hsivonen)
  • [MISSED] implement <picture> (bug 870022) (johns)
    • This is 80% there, as in works, but still some corners we need to sort out.
  • [DONE] initial support for windowed mode plugins in e10s mode (bug 923746) (johns)
  • [DONE] document.register (bug 856140) (wchen)
  • [DEFERRED] initial work (DOM part) on date picker form control (one or more of bug 888320's deps) with prototype UI (wchen)
    • Shadow DOM and Web Components took precedence here
  • [MISSED] fetch bits of service workers (part of bug 903441) (nsm)
    • jdm has updated patches but other parts of Service Workers including registration took precedence in Q1.
  • [DEFERRED] get push running on desktop when Firefox is running (bug 857464) (nsm)
    • Deferred to wait for service workers to be introduced into push spec
  • [DONE] pref on promises (bug 918806) (nsm)
  • [CARRY OVER] cross-thread CC (bug 915097) (smaug)
  • [MISSED] tcp socket in workers (bug 916199) (jdm)
    • near miss: missing review from overworked reviewers
  • [WISHLIST] refactor how tokenizer and tree builder use buffers to reduce memory pressure crashes (hsivonen)

WebAPI

  • [DONE] work with Google to triage service worker issues and begin spec (annevk)
  • [MISSED] decide on way forward and unbitrot sync idb (bug 798875) (janv)
  • [MISSED] Update quota manager to use PBackground (bug 961049) (janv)
    • Jan's progressing well on updating the internal quota API for asm.js and JS bytecode caching but due to those reviews and the fact that PBackground took a bit longer, this didn't make it in Q1.
  • [DEFERRED] finish the Data Store security UX work (bug 945797) (ehsan)
  • [DONE] provide feedback on text selection UI for b2g (bug 924692) (ehsan)
  • [DONE] provide feedback on the system resource stats API (ehsan)
  • [MISSED] gather b2g use cases for the Notification API and propose API extensions if needed (ehsan)
  • [MISSED] DataStore service ported to C++ (bug 957086) (baku)
    • This is very close to being finished, having gone through multiple rounds of review and just needs a few more final (hopefully) reviews before landing
  • [MISSED] IDB in workers (bug 701634) (bent)
    • Ben got pulled into a bunch of other B2G work this quarter and has made great progress but has yet to finish all of this work
  • [DONE] continue working on manifest and prototype implementation (http://w3c.github.io/manifest/) (Marcos)
    • JS prototype done, work on orientation remaining but v1 basically done
  • [DONE] finish research for installable webapps: https://github.com/w3c-webmob/installable-webapps (Marcos)
    • ongoing but large chunks done this quarter
  • [DONE] finish <picture> spec (help Tab where possible) (Marcos)
    • others mostly took over this work, Marcos may circle back in the future when there's more to do
  • [MISSED] get someone to implement <picture> and Client Hints. (Marcos)
    • <picture> should reduce avg site image size and motivate CDNs to push for client hints; either way, this should probably move to Necko
  • [DONE] publish netinfo use cases doc - https://github.com/w3c-webmob/netinfo (Marcos)
    • will be published the last week of March
  • [WISHLIST] get Serial API to a presentable state. http://github.com/whatwg/serial (Marcos)

JS

  • [DONE] 619558 - Generational GC
  • [ON TRACK] 837963 - ECMA-402 i18n API
  • [ON TRACK] 933949 - Optimize for Tom's Hardware's "Web Browser Grand Prix" benchmarks

Accessibility

  • Sandboxing support
    • [DONE] Design accessibility roadmap (tbsaunde) [V1.0]
    • [DROPPED] Land cleaner separation of internal and platform accessibility layers. (tbsaunde)
    • add: [DONE] Get a11y events working across process (tbsaunde) [TESTED ON LINUX - NOT LANDED - MORE TO DO]
  • FFOS:Gaia (eeejay,marcoz,yzen)
    • [MISSED] Make at least three of these core Gaia Apps accessible: dialer, contacts, sms, browser, marketplace [WE GOT DIALER + SOME WIDGETRY]
    • [DONE] Land initial screen reader user settings
    • [DONE] Design quick toggle for screen reader. [LANDED]
    • [DONE] Add basic Gaia UI accessibility tests for lockscreen, homescreen, settings, and any app we touch from now on [DROPPED homescreen/settings ADDED integration tests]
  • Windows UIA (Newer Accessibility API)
    • [MISSED] Land basic UIA text navigation implementation (surkov)

Perf

  • [DONE] Report main-thread I/O stacks to Telemetry, work with other teams to fix top offenders
  • [DONE] Session-store improvements: eliminate jank during data collection, improve startup time, reduce size of sessionstore.js files
  • [DONE] Write a Talos test for the CustomizationUI animation in Australis
  • [DONE] Serverside: Full support for self-serve telemetry data analysis (both ad hoc and scheduled)
  • [DONE] Write a Talos test for power use
  • [DONE] Procure slow netbooks to be used as reference hardware for performance testing
  • [ON TRACK] Write a Talos test for session storage performance
  • [ON TRACK] Convert FHR to the new async way of shutting down
  • [ON TRACK] Add support for capturing profiles during Talos tests
  • [ON TRACK] Serverside: Instrument telemetry data-processing tasks with monitoring, alerts, and performance information. Stretch goal: include costing info too
  • [MISSED] Reduce Firefox power usage when the browser is idle
  • [MISSED] Add a journalled storage format to Gecko for better performance & start converting users in the codebase, e.g. prefs
  • [DEFERRED] Follow up on any Talos issues that fall out of enabling OMTC
  • [DEFERRED] Track & help with scrolling work
  • [DEFERRED] New UI for multi-threaded profiling in the Gecko Profiler

Networking

  • [DONE] HTTP/2: implement draft-09 of HTTP/2 spec and continue participating in spec development. (hurley / mcmanus)
  • [MISSED] Turn on new HTTP cache in nightly (honza / michal)
    • plan to land on m-c in early May (Firefox 32)
  • [DONE] followups to seer to reduce CPU/disk usage (bug 945779, bug 948448, bug 948448) (hurley)
  • [DONE] Support off-main send/recv from Websockets (for workers) (bug 925623) (sworkman)
  • [DONE] Investigate whether we can get network up/down link detection on all platforms [lame-network] bug 939318 (bagder/sworkman)
  • [DEFERRED] B2G: Provide way to "set network offline" per app (bug 786419) (jduell)
  • [MISSED] Add support for connecting to HTTP proxy over HTTPS (bug 378637) (mcmanus)
    • carrying over to Q2. Just wound up being a hard problem tunneling SSL over SSL.
  • [DONE] turn off insecure v1 NTLM (bug 828183) (honza)
  • [DONE] Provide way to "Divert" a channel from child to parent (bug 975338) (sworkman/jduell)

Mobile

Security & Privacy

SecurityEngineering/2014/Q1Goals.

  • [DROPPED] Tracking protection: Extend nsChannelClassifier to block network loads from tracking domains based on a remote list. Dropped in favor of work in lightbeam; we will integrate changes needed for lightbeam after this quarter.
    • [DONE] (mmc) Fix lightbeam
    • [MISSED] (mmc) add blocking heuristics (added to third party addon as experiment instead of lightbeam)
  • [DONE] Revocation: Land insanity, key pinning and name constraints (briansmith, keeler, cviecco)
  • [DONE] Sandboxing: set path to remote file access, begin to remove OPEN syscall from sandbox on linux/b2g and equivalent on windows. (bbondy, kang, sid)
  • [AT RISK] Perf/CSP: CSP rewrite in C++ for perf on B2G and all platforms (ckerschb, grobinson) - very close to finishing CSP rewrite, ETA 4/4.

Release Engineering

Web Engineering