Platform/2013-Q4-Goals: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 71: Line 71:
** Jan kicked off discussion.  Jonas threw a wrench into it.  http://lists.w3.org/Archives/Public/public-webapps/2013OctDec/0830.html
** Jan kicked off discussion.  Jonas threw a wrench into it.  http://lists.w3.org/Archives/Public/public-webapps/2013OctDec/0830.html
* {{done|Enable SharedWorker by default ({{bug|924089}}) (bent)}}
* {{done|Enable SharedWorker by default ({{bug|924089}}) (bent)}}
* {{done|Ensure we have someone to implement srcset (marcosc)}}
** riding the trains with 29
* {{done|Ensure we have someone to implement <s>srcset</s>src-n (marcosc)}}
** johns is going to implement this
* {{done|Base XMLHttpRequest spec on Fetch spec (fix everything in Fetch required for that) (annevk)}}
* {{done|Base XMLHttpRequest spec on Fetch spec (fix everything in Fetch required for that) (annevk)}}
* {{done|Get promises into ES6 spec (help out Domenic where needed) (annevk)}}
* {{done|Get promises into ES6 spec (help out Domenic where needed) (annevk)}}
* {{wishlist|Land (async) IDB in workers ({{bug|701634}}) (baku)}}
* {{wishlist|Land (async) IDB in workers ({{bug|701634}}) (baku)}}
** this ate up most of baku and bent's time and will likely land very early in 2014


=== JS  ===
=== JS  ===

Revision as of 16:19, 12 December 2013

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 are work in progress

These are not all going to be prioritized for the quarter, but this is the list from which we are likely to select

  • [ON TRACK] B2G & Fennec performance (animation, pan/zoom, canvas, WebGL)
  • [ON TRACK] APZC on B2G apps
  • [ON TRACK] Metro
  • [ON TRACK] E10S
  • [ON TRACK] Australis TART
  • [ON TRACK] 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)

Layout

  • [ON TRACK] Vertical Text - Basic logical geometry and writing mode API landed
  • [ON TRACK] HarfBuff text shaping - performance and correctness update
  • [ON TRACK] HTML5 Form input type (number)
  • [ON TRACK] CSS Variables landed on mozilla-central
  • [ON TRACK] Multi-line CSS Flexbox landed and enabled on mozilla-central
  • [ON TRACK] CSS box:contents landed on mozilla-central (maybe not enabled)
  • [ON TRACK] CSS overflow prototype
  • [ON TRACK] CSS SVG Filters
  • [ON TRACK] Australis Layout Performance work
  • [DONE] have our own CSS parsing and selector matching code in Servo

Media

  1. [ON TRACK] MSE Source Buffer Resetting
  2. [DONE] Fragmented MP4 Parser
  3. [DONE] WebM VP9 Support

DOM

  • [DONE] Norway worker work (bug 916204) (dougt / khuey / nikhil)
    • This ended up being basically no work, but a bunch of discussions to further understand the needs of the gaia team. In the end it resulted in no JS API implemented APIs exposed to workers, but some of those APIs are being exposed by converting their implementations to C++
  • [DONE] E10s and B2g work related to message manager and event handling (olli) (significant work done, but more stuff may come up)
  • [ON TRACK] add some helper code to deal with cross-thread cycles, (bug 915097 and others) (olli)
  • [ON TRACK] fix AppShell's favorPerfMode (bug 822096 and others )(olli)
  • [DEFER] Update document.register to latest spec revision (bug 856140) (blake / wchen)
    • The spec for this changed during to quarter to something much more complex, we'll get to this in Q1.
  • [ON TRACK] Implement ShadowRoot event retargeting algorithm (bug 887541) (blake / wchen)
  • [ON TRACK] ShadowRoot <shadow> element (bug 887538) (blake / wchen)
  • [MISSED] Implement HTML imports (bug 877072) (blake / wchen)
    • A bulk of this work got done, but other work got in the way and was of higher priority than this work.
  • [ON TRACK] Finalize the patch for per-document,docshell,window event queue (olli)
  • [ON TRACK] Service Workers (nikhil)
  • [DONE] Think about Push payload (nikhil)
    • This ask went away, so we ended up really not doing any work here, but we did deal with this situation.
  • [ON TRACK] ICC landed but not turned on.
  • [MISSED] Deal with all the main bullet items in our Window bindings task list
    • Large parts of this is done, but we ran into unexpected complications along the way that took more time than expected to get through, so this won't be done for the end of Q4
  • [ON TRACK] Ensure that the median age of all DOM sec-critical and sec-high bugs is 3 weeks or less.

WebAPI

  • [ON TRACK] Land MessagePort for workers (bug 911972) and main-thread (bug 677638) on m-c (baku)
  • [ON TRACK] Pref on DataStore (bug 916091 at a minimum) (baku)
  • [ON TRACK] Continue work on manifest / "installable apps" (marcosc)
  • [ON TRACK] Locale-aware sorting for indexedDB (ehsan doing ICU work, bent doing IDB work)
  • [ON TRACK] Finish indexedDB error message improvements (bent, currently in progress)
  • [ON TRACK] Land low-hanging indexedDB features (bent, currently in progress)
  • [ON TRACK] Adjust implementation, review and land sync IDB in workers (janv)
  • [DONE] Get agreement with other browser vendors on temporary/permanent IDB syntax (janv)
  • [DONE] Enable SharedWorker by default (bug 924089) (bent)
    • riding the trains with 29
  • [DONE] Ensure we have someone to implement srcsetsrc-n (marcosc)
    • johns is going to implement this
  • [DONE] Base XMLHttpRequest spec on Fetch spec (fix everything in Fetch required for that) (annevk)
  • [DONE] Get promises into ES6 spec (help out Domenic where needed) (annevk)
  • [WISHLIST] Land (async) IDB in workers (bug 701634) (baku)
    • this ate up most of baku and bent's time and will likely land very early in 2014

JS

  • [AT RISK] 619558 Generational GC
  • [ON TRACK] 837963 ECMAScript Internationalization API

Accessibility

FFOS

  • [MISSED] Make core gaia apps/functionality accessible to end users.
    • dialer, contacts, sms, browser, marketplace, settings, clock
    • stretch: email, calendar
    • Create user-facing UI for screenreader settings.
  • [MISSED] Harmonize speech synthesis audio with b2g audio channels
  • AccessFu improvements
    • [DONE] context actions (swipe up and down) - but more work expected
    • [DONE] improved support for mutating content - but more work expected
    • [MISSED] performance work
  • [DEFER] Accessibility support in appmaker

Core Platform

  • [MISSED] Stability: to include crashes and new asserts. Tracking bug 888531.
  • [MISSED] Stability: investigate instantiation of a11y for other test suites and make them pass.
  • [DONE] Resolve all actionable sec-moderate or higher a11y bugs within six weeks of their sec-rating.
  • [DONE] Hot AT vendor fixes. Tracking bug 923199
    • note there will be expected carry-over into 2014 and some work was blocked.

Perf

Networking

  • [ON TRACK] Turn on new HTTP cache in nightly (honza / michal)
  • [ON TRACK] HTTP/2: implement draft-06; contribute internet draft for http:// over TLS; test coverage (hurley / mcmanus)
  • [ON TRACK] Design docs and go/no go decision on Carpe Net proposal (mcmanus / hurley)
  • [ON TRACK] "lame-network": use TCP keepalive to time out stale connections (bug 444328), timeout 1/2 open connections (need to file bug) (sworkman)
  • [ON TRACK] B2G: Provide way to "set network offline" per app (bug 786419) (jduell)
  • [ON TRACK] Support off-main send/recv from Websockets (for workers) (bug 925623) (jduell/sworkman)
  • [ON TRACK] make e10s FTP work with HTTP proxies (bug 915024) (jduell)

Mobile

Security

Security Engineering's Q4 goal details here. Summary:

  • [DONE] Sandboxing: Land chromium-sandbox and make it enableable
  • [ON TRACK] B2G: Get CSP tests enabled on b2g (observer thing)
  • [ON TRACK] Roadmaps: Update privacy/security roadmaps.
  • [DONE] TLS: Land and enable TLS 1.2
  • [ON TRACK] Mixed Content: Land last critical follow-ups for MCB.
  • [ON TRACK] CSP: Evaluate C++ rewrite perf gains, implement nonce and hash support.

(many goals are close to done, see the link above for more details)