Platform/2013-Q4-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 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)
    • Hoping for finishing during the week of December 16th
  • [ON TRACK] fix AppShell's favorPerfMode (bug 822096 and others )(olli)
    • This is still on track as of 2013-12-13 despite a somewhat high number of random oranges and test fixes
  • [DEFERRED] Update document.register to latest spec revision (bug 856140) (blake / wchen)
    • The spec for this changed during the quarter to something much more complex, we'll get to this in Q1.
  • [DEFERRED] Implement ShadowRoot event retargeting algorithm (bug 887541) (blake / wchen)
    • The spec has issues and it's unclear when they'll be resolved. Work that was done here hasn't landed due to spec flux. We'll defer this until the spec stabilizes a bit more.
  • [DONE] ShadowRoot <shadow> element (bug 887538) (blake / wchen)
    • Status as of 2013-12-16: there are some regressions here but they're hard to diagnose; wchen may just land and figure it out afterwards.
  • [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.
  • [MISSED] Finalize the patch for per-document,docshell,window event queue (olli)
    • More investigation is needed here to know if this is worth doing
  • [DONE] 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.
  • [DONE] ICC landed but not turned on. (bug 850065) (mccr8)
  • [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
  • [MISSED] Ensure that the median age of all DOM sec-critical and sec-high bugs is 3 weeks or less.
    • We hit some hard ones this quarter, and a bunch of stuff is blocked by larger security work (i.e. slaughterhouse), and didn't get to deal with as much of this as hoped.

WebAPI

  • [MISSED] Land MessagePort for workers (bug 911972) and main-thread (bug 677638) on m-c (baku)
    • MessagePort preffed on by default on b2g but nowhere else
  • [MISSED] Pref on DataStore (bug 916091 at a minimum) (baku)
    • only preffed on for B2G
  • [DONE] Continue work on manifest / "installable apps" (marcosc)
  • [MISSED] Locale-aware sorting for indexedDB (ehsan doing ICU work, bent doing IDB work)
    • ICU work done
    • IDB work remaining for early 2014
  • [MISSED] Finish indexedDB error message improvements (bent, currently in progress)
    • need for this is reduced as fewer "random IDB error message" bugs these days
    • will still do it, hopefully in Q1 2014
  • [DEFERRED] Adjust implementation, review and land sync IDB in workers (janv)
    • patches are up for review (\o/!)
    • unclear if other vendors will agree on addition to standard
  • [DONE] Land low-hanging indexedDB features (bent, currently in progress)
  • [MISSED] 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 (settings: done, dialer: close to done, clock: close to done)
    • 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 for changing slider values, need to do more work for special control navigation)
    • [DONE] improved support for mutating content - but more work expected (some patches need to be sent for review, but most is done. worked on obscured state - and shelved it, which is tangentially related)
    • [MISSED] performance work
  • [DEFER] Accessibility support in appmaker - undergoing refactor

Core Platform

  • [MISSED] Stability: to include crashes and new asserts. Tracking bug 888531. (good progress but didn't hit target)
  • [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

  • [MISSED] Turn on new HTTP cache in nightly (honza / michal)
    • new timeline is to land mid-February (for Firefox 31)
  • [DONE] HTTP/2: implement draft-06; contribute internet draft for http:// over TLS; test coverage (hurley / mcmanus)
  • [DONE] Design docs and go/no go decision on Carpe Net proposal (mcmanus / hurley)
  • [DONE] "lame-network": use TCP keepalive to time out stale connections (bug 444328), timeout 1/2 open connections (need to file bug) (sworkman)
    • closed in early January, so I'm counting this :)
  • [DEFER] B2G: Provide way to "set network offline" per app (bug 786419) (jduell)
    • punted on this in favor of working on last-minute priority for webRTC: DNS working on child (bug 945066)
  • [MISSED] Support off-main send/recv from Websockets (for workers) (bug 925623) (jduell/sworkman)
    • neither Steve nor jduell found the time to get to this.
  • [AT RISK] make e10s FTP work with HTTP proxies (bug 915024) (jduell)
  • [DONE] get DNS service working on child (bug 945066) (added mid-quarter for B2G/WebRTC support)

Mobile

Security

Security Engineering's Q4 goal details here. Summary:

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

(many sub-goals done, see the link above for more details)