Platform/2013-Q3-Goals

From MozillaWiki
Jump to: navigation, search

Platform

2013 General Goals

  1. Games/Media/Social/Location
  2. Performance
  3. Development velocity/productivity
  4. Firefox OS
  5. Firefox Desktop
  6. Firefox Android
  7. Overall Software Quality

GFX

Goals

  • GPU/shader pipeline
    • [DONE] 687187, 827229 - SkiaGL canvas support on Android. [2,6] (Trains 24, 25)
    • [DONE] 883445 - B2G canvas rendering using SkiaGL (Train 26)
    • [ON TRACK] Implement CSS Filters
  • OMT* Goals
    • [MISSED] 717872 Complete Off-Main Thread Animation feature & tests (Train 25)
    • [DONE] 883441, 883433 - Async pan-zoom, including sub-frames. [2,3,5] (Trains 25, 26)}}
  • Moz2D (Azure)
    • [DONE] Land Direct2D 1.1 backend (Train 25) (pref'd off until Cairo backend is available - see below)
    • [DONE] 891660 Enable OS X CoreGraphics backend (Train 25)
    • [ON TRACK] 694351 Land Cairo backend (Train 26)
  • [ON TRACK] Windows scrolling performance
  • [DONE] The GFX team will resolve all actionable security bugs within six weeks of their entering our components and receiving sec-high or sec-critical designation. [7] (All trains)

Wishlist

  • [DONE] [WISHLIST] WebGL performance improvements as driven by the games team. [2,6] (Trains 24,25)
  • [MISSED] [WISHLIST] More robust downloadable blocklisting solution
  • [DONE] [WISHLIST] Fix WebGL security bugs. (Train 25)

Investigations

  • [WISHLIST] 882383 - Improve layer heuristics
  • [WISHLIST] 883448 - Scrolled content uploading (e.g., tiling vs. buffer rotation) on mobile
  • [WISHLIST] 886315 - Make GL shader pipeline more flexible
  • [WISHLIST] Realistic scrolling performance tests
  • [WISHLIST] Tiling everywhere?

Gaps

Outstanding request for the "help" from the graphics team that we can't staff - let us know if you can help.

  • [DONE] [WISHLIST] 897060 Dropdown menus in web content don't work in e10s builds (not a graphics bug)
  • [AT RISK] 894128 Firefox-desktop on windows almost never scrolls 100% smooth
  • [AT RISK] 899783 D2D initialization delays startup by hundreds of milliseconds.
  • [AT RISK] 898117 This security issue

Moz2D & OMTC Path Reference

OMT* Moz2D (Azure)
  • OMT Image Animation
  • OMTC Mac
  • OMTC Metro

  • OMTC Windows
  • OMTC SW
  • OMT Texture Uploads
  • OMT Painting
  • Remove non-OMT code
  • Moz2D Skia
  • Moz2D SkiaGL
  • Moz2D CG
  • Moz2D Cairo

Layout

  • [ON TRACK] vertical text goal TO WRITE
  • [AT RISK] text performance goal TO WRITE
  • [ON TRACK] CSS variables (bug 773296) landed on mozilla-central
  • [MISSED] CSS flexbox pagination (bug 811024) and multiline flexbox (bug 702508) landed on mozilla-central
  • [AT RISK] working incremental layout updates in Servo, for the features Servo implements
  • [AT RISK] have our own CSS parsing and selector matching code in Servo (completed during October)

Media

  • [DONE] Get YouTube Media Source Extensions demo player working.
  • [MISSED] Use an integrated MP4 demuxer instead of depending on the platform. It is needed to reduce crashing on Windows 7, improve security on Vista and for adding H.264 support on Mac.
  • [MISSED] Ship Web Audio in Firefox 24.

DOM

  • [MISSED] Incremental cycle collection landed and on by default (mccr8)
    • This is basically done, but not landed due to unexpected PTO and the need to jump on security bugs that were filed in this quarter.
  • [DONE] Convert Navigator to new bindings (bzbarsky)
  • [MISSED] Convert Location to new bindings (peterv)
  • [MISSED] Make Window use WebIDL quickstubs (peterv)
    • Done, as in green on try and mostly reviewed, but not quite there.
  • [DONE] Codegen cleanup for workers (khuey)
  • [DONE] Make exposing QI in chrome on WebIDL things op-in (peterv)
  • [MISSED] Update document.register to latest spec revision (bug 856140) (blake / wchen)
  • [MISSED] Implement ShadowRoot event retargeting algorithm (bug 887541) (blake / wchen)
  • [MISSED] ShadowRoot <shadow> element (bug 887538) (blake / wchen)
  • [MISSED] Implement HTML imports (bug 877072) (blake / wchen)
  • [DONE] Identify approach to port existing APIs to port to workers. Port 1-3 APIs (khuey)
  • [DONE] Improve editor performance by eliminating use of tons of Range objects (smaug) (Ended up improving Range performance in some common cases.)
  • [DONE] Codegenerator for WebIDL-only DOM events (bug 900904) (smaug)
  • [MISSED] Allow child processes to share a plugin-container per plugin (johns)
    • We didn't get this done this quarter, but we did come up with a plan that looks doable for enabling plugins in e10s w/o massive effort.
  • [MISSED] Implement and land the One Logger to Rule Them All (bug onelogger) (jlebar)
    • Missed due to loss of resource.
  • [MISSED] Clean up DMD reports for B2G under normal use(jlebar)
    • Missed due to loss of resource.
  • [DONE] Convert SimplePush to webidl (nikhil)
  • [DONE] Drive SimplePush web standard (nikhil)
  • [DONE] Help with porting APIs to workers (nikhil)
  • [MISSED] Try to implement background services with system messages integration, including out of process for B2G (nikhil)
  • [MISSED] Finalize the patch for per-document,docshell,window event queue (olli) (seems to require quite a bit more than just finalizing the patches)

WebAPI

  • [DONE] land Promises on m-c (bug 856410) (baku)
  • [DONE] land DataStore API on m-c (bug 871445) (baku)
  • [DONE] Investigate event pages (was superceded by Service Workers) (marcosc)
  • [MISSED] publish manifest format (marcosc)
  • [DONE] publish policy on exposing APIs to the web (overholt)
  • [MISSED] have draft text on Streams (annevk) (someone from Google is handling IO streams already)
  • [DONE] make URL parsing (in URL Standard) idempotent (annevk)
  • [DONE] update URL test suite (annevk)
  • [DONE] expose Notification objects associated with an origin (annevk)
  • [MISSED] Review and land sync IDB in workers (janv)
  • [MISSED] Multiprocess FileHandle and FileSystem API (janv & co.)
  • [MISSED] Ship storage.js (mounir)
  • [DONE] Investigate event pagesService Workers (was "Implement NavigationController") (ehsan & annevk)
  • [MISSED] Improve IndexedDB error messages (bent)
  • [DONE] Convert IndexedDB to WebIDL bindings (ehsan, baku, janv)
  • [DONE] Implement several new IndexedDB features that came out of Google meetup (bent)
  • [MISSED] Get ScreenOrientation API to last call (mounir)
  • [WISHLIST] Integrate localStorage with temporary storage (janv)
  • [WISHLIST] Fully support OS.File worker needs (bent)
  • [WISHLIST] Make IPDL work for XPCOM event loops (bent)

JS

  • [MISSED] 619558 Generational GC

Accessibility

  • FFOS: Finish all the pieces for developer-ready a11y.(eeejay)
    • [DONE] Minimal Gaia accessibility lockscreen/homescreen/settings.
    • [DONE] Screen Reader pref in developer settings.
    • [DONE] Pico library in gonk / Pico engine in gecko layer.
  • [MISSED] FF OS: Identify and file bugs for core GAIA apps needing accessibility work (MarcoZ)
  • [MISSED] Stability: to include crashes and new asserts. Tracking bug 888531.(tbsaunde)
  • [DONE] Resolve all actionable sec-moderate or higher a11y bugs within six weeks of their sec-rating.(tbsaunde)
  • [WISHLIST] Fix key/priority community bugs including text work. Tracking bug 887794.(surkov)

Perf

  • 50% startup speedup(per eideticker nytimes test) for "GET /" on Galaxy Nexus (4s atm) - bug 807322
  • Async collection + writing of session-store - bug 83857
  • Fsync-less prefs - bug 866238

Networking

  • [DONE] Disk Cache - new cache API and file system layer passing tests on gum branch (includes crash recovery and being jank-free: does not include in-memory index or appcache integration) (honza, michal)
  • [DONE] HTTP/2 Node.js Test Server (Nick, Gabor (GSoC Student))
  • [DONE] B2G Per Application traffic meter support (jduell) (bug 855949, bug 855951, bug 746073)
    • all necko work for this is essentially done: we've landed websockets/TCP socket metering, decided to skip FTP for now, and have r+ patch for HTTP which is waiting only for a minor data structure change (bug 887699)
  • [DONE] off-main-thread ODA clients raster image loading (bug 867755) and Gzipped content (bug 882996)(sworkman)
  • [MISSED] Disable Speculative Connections for RFC 1918 connections (bug 853423) (Steve)
    • patch +r, works on try, but keeps failing on inbound. Still debugging.
  • [MISSED] Resource Timing (http://www.w3.org/TR/resource-timing/) (bug 822480) (Steve/Intern)
    • We're hoping to have this landed by end of Adrian's internship (Oct 18th)
  • [DONE] TLS false start (bug 658222) (mcmanus)
  • [DONE] HTTP/2 draft-04 (or subsequent as apropos) to gather interop experience and work with IETF and refinements. (mcmanus/hurley)
  • [MISSED] Deploy empirical test of DNS viability as HTTP/2 hint in testing channels. (mcmanus)
    • mcmanus: "I think its a miss. I can't get any support from ops for it. Let's not roll it forward as I may have to consider another way to get the information"
  • [MISSED] Predictive Support - Startup, Pageload, Link hover, rel prefetch (bug 881804) (hurley)
    • patches +r, causing mysterious failures in small # of Talos tests. Still debugging.

Mobile