Platform/2013-Q3-Goals: Difference between revisions
< Platform
Todesschaf (talk | contribs) |
(→Layout) |
||
(87 intermediate revisions by 19 users not shown) | |||
Line 11: | Line 11: | ||
=== GFX === | === GFX === | ||
==== Goals ==== | |||
* {{ | |||
* {{ok|OMT Animation}} (Train 25) | * GPU/shader pipeline | ||
** {{done|{{nbug|687187}}, {{nbug|827229}} - SkiaGL canvas support on Android. [2,6]}} (Trains 24, 25) | |||
** {{done|{{nbug|883445}} - B2G canvas rendering using SkiaGL}} (Train 26) | |||
** {{ok|Implement CSS Filters}} | |||
* OMT* Goals | |||
** {{miss|{{nbug|717872}} Complete Off-Main Thread Animation feature & tests (Train 25)}} | |||
** {{done|{{nbug|883441}}, {{nbug|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|{{nbug|891660}} Enable OS X CoreGraphics backend (Train 25)}} | |||
** {{ok|{{nbug|694351}} Land Cairo backend (Train 26)}} | |||
* {{ok|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) | * {{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)}} | |||
* {{miss|{{wishlist|More robust downloadable blocklisting solution}}}} | |||
* {{done|{{wishlist|Fix WebGL security bugs.}} (Train 25)}} | |||
==== Investigations ==== | |||
* {{wishlist|{{nbug|882383}} - Improve layer heuristics}} | * {{wishlist|{{nbug|882383}} - Improve layer heuristics}} | ||
* {{wishlist|{{nbug|883448}} - Scrolled content uploading (e.g., tiling vs. buffer rotation) on mobile}} | * {{wishlist|{{nbug|883448}} - Scrolled content uploading (e.g., tiling vs. buffer rotation) on mobile}} | ||
* {{wishlist|{{nbug|886315}} - Make GL shader pipeline more flexible}} | * {{wishlist|{{nbug|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|{{nbug|897060}}}} Dropdown menus in web content don't work in e10s builds}} (not a graphics bug) | |||
* {{risk|{{nbug|894128}}}} Firefox-desktop on windows almost never scrolls 100% smooth | |||
* {{risk|{{nbug|899783}}}} D2D initialization delays startup by hundreds of milliseconds. | |||
* {{risk|{{nbug|898117}}}} This security issue | |||
==== Moz2D & OMTC Path Reference ==== | |||
{| | {| | ||
Line 48: | Line 56: | ||
* OMTC Mac | * OMTC Mac | ||
* OMTC Metro | * OMTC Metro | ||
---- | |||
* OMTC Windows | * OMTC Windows | ||
* OMTC SW | * OMTC SW | ||
* OMT Texture | * OMT Texture Uploads | ||
* OMT Painting | * OMT Painting | ||
* Remove non-OMT code | * Remove non-OMT code | ||
Line 58: | Line 66: | ||
* Moz2D SkiaGL | * Moz2D SkiaGL | ||
* Moz2D CG | * Moz2D CG | ||
* Moz2D Cairo | * Moz2D Cairo | ||
|} | |} | ||
Line 64: | Line 71: | ||
=== Layout === | === Layout === | ||
* {{ok|vertical text goal TO WRITE}} | * {{ok|vertical text goal TO WRITE}} | ||
* {{ | * {{risk|text performance goal TO WRITE}} | ||
* {{ok|CSS variables ({{bug|773296}}) landed on mozilla-central}} | * {{ok|CSS variables ({{bug|773296}}) landed on mozilla-central}} | ||
* {{ | * {{miss|CSS flexbox pagination ({{bug|811024}}) and multiline flexbox ({{bug|702508}}) landed on mozilla-central}} | ||
* {{ | * {{risk|working incremental layout updates in Servo, for the features Servo implements}} | ||
* {{ | * {{risk|have our own CSS parsing and selector matching code in Servo}} (completed during October) | ||
=== Media === | === Media === | ||
* {{done|Get YouTube Media Source Extensions demo player working.}} | |||
* {{miss|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.}} | |||
* {{miss|Ship Web Audio in Firefox 24.}} | |||
=== DOM === | === DOM === | ||
* {{ | * {{miss|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)}} | ||
* {{ | * {{miss|Convert Location to new bindings (peterv)}} | ||
* {{ | * {{miss|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)}} | |||
* {{miss|Update document.register to latest spec revision ({{bug|856140}}) (blake / wchen)}} | |||
* {{ | * {{miss|Implement ShadowRoot event retargeting algorithm ({{bug|887541}}) (blake / wchen)}} | ||
* {{ | * {{miss|ShadowRoot <shadow> element ({{bug|887538}}) (blake / wchen)}} | ||
* {{ | * {{miss|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)}} | ||
* {{ | * {{miss|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. | ||
* {{ | * {{miss|Implement and land the One Logger to Rule Them All ({{bug|onelogger}}) (jlebar)}} | ||
* {{ | ** Missed due to loss of resource. | ||
* {{ | * {{miss|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)}} | |||
* {{miss| Try to implement background services with system messages integration, including out of process for B2G}} (nikhil) | |||
* {{miss| Finalize the patch for per-document,docshell,window event queue (olli)}} (seems to require quite a bit more than just finalizing the patches) | |||
=== WebAPI === | === 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)}} | ||
* {{ | * {{miss|publish [http://www.w3.org/2012/sysapps/manifest/ manifest format] (marcosc)}} | ||
* {{ | * {{done|publish policy on exposing APIs to the web (overholt)}} | ||
* {{ | * {{miss|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)}} | ||
* {{ | * {{miss|Review and land sync IDB in workers}} (janv) | ||
* {{miss|Multiprocess FileHandle and FileSystem API}} (janv & co.) | |||
* {{miss|Ship storage.js}} (mounir) | |||
* {{done|Investigate <s>event pages</s>Service Workers (was "Implement NavigationController")}} (ehsan & annevk) | |||
* {{miss|Improve IndexedDB error messages}} (bent) | |||
* {{done|Convert IndexedDB to WebIDL bindings}} (ehsan, baku, janv) | |||
* {{done|Implement [http://bit.ly/13heNJr several new IndexedDB features] that came out of Google meetup}} (bent) | |||
* {{miss|Get ScreenOrientation API to last call}} (mounir) | |||
* {{wishlist|Integrate localStorage with temporary storage}} (janv) | * {{wishlist|Integrate localStorage with temporary storage}} (janv) | ||
* {{wishlist|Fully support OS.File worker needs}} (bent) | * {{wishlist|Fully support OS.File worker needs}} (bent) | ||
* {{wishlist|Make IPDL work for XPCOM event loops}} (bent) | * {{wishlist|Make IPDL work for XPCOM event loops}} (bent) | ||
=== JS | === JS === | ||
* {{miss|{{nbug|619558}} Generational GC}} | |||
=== Accessibility === | === Accessibility === | ||
* FFOS: Finish all the pieces for developer-ready a11y.(eeejay) | * 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.}} | ||
* {{ | * {{miss|FF OS: Identify and file bugs for core GAIA apps needing accessibility work (MarcoZ)}} | ||
* {{ | * {{miss|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) | * {{wishlist|Fix key/priority community bugs including text work. Tracking}} {{Bug|887794}}.(surkov) | ||
=== Perf === | === 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 === | === 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)}} | ||
* {{ | * {{miss|Disable Speculative Connections for RFC 1918 connections ({{bug|853423}}) (Steve)}} | ||
* {{ | ** patch +r, works on try, but keeps failing on inbound. Still debugging. | ||
* {{ | * {{miss|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)}} | |||
* {{miss|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" | |||
* {{miss|Predictive Support - Startup, Pageload, Link hover, rel prefetch ({{bug|881804}}) (hurley) }} | |||
** patches +r, causing mysterious failures in small # of Talos tests. Still debugging. | |||
=== Mobile === | === Mobile === |
Latest revision as of 22:09, 31 October 2013
Platform
2013 General Goals
- Games/Media/Social/Location
- Performance
- Development velocity/productivity
- Firefox OS
- Firefox Desktop
- Firefox Android
- Overall Software Quality
GFX
Goals
- GPU/shader pipeline
- OMT* Goals
- Moz2D (Azure)
- [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) |
---|---|
|
|
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.