Platform/2014-Q1-Goals: Difference between revisions

 
(48 intermediate revisions by 15 users not shown)
Line 7: Line 7:
=== Layout ===
=== Layout ===


* {{ok|Start CSS Grid implementation }}
* {{done|Start CSS Grid implementation }}
* {{ok|Fix multiple relative positioning issues (eg. 35168, 63895) }}
* {{done|Fix multiple relative positioning issues (eg. {{bug|35168}}, {{bug|63895}}) }}
* {{ok|Ship display:box (bug 907396) }}
* {{miss|Ship display:box ({{bug|907396}}) }}
* {{ok|CSS scroll-snapping (bug 945584) }}
* {{deferred|CSS scroll-snapping ({{bug|945584}}) }}
* {{ok|Ship input=number internationalization features }}
* {{done|Ship input=number internationalization features }}
* {{ok|Migrate SVG to Moz2D (bug 703159) }}
* {{prev|Migrate SVG to Moz2D ({{bug|703159}}) }}
* {{ok|Vertical text: Implement Layout frame migration to logical coordinates }}
* {{done|Vertical text: Implement Layout frame migration to logical coordinates }}
* {{ok|Text Performance bugs ( https://etherpad.mozilla.org/textperfworkitems ) }}
* {{prev|Text Performance bugs ( https://etherpad.mozilla.org/textperfworkitems ) }}
* {{ok|Improve Restyling Performance (bugs like 931668) }}
* {{done|Improve Restyling Performance (bugs like {{bug|931668}}) }}
* {{ok|Ship Flexbox Pagination }}
* {{prev|Ship Flexbox Pagination }} ({{bug|939897}} and helpers)


=== Media ===
=== Media ===
* {{ok|Enable MSE support for YouTube in Firefox 30 for Windows Vista, 7 and 8}}
* {{miss|Enable MSE support for YouTube in Firefox 30 for Windows Vista, 7 and 8}}


=== DOM ===
=== DOM ===
* {{ok|New bindings for Window completed}}
* {{miss|New bindings for Window completed}}
* {{ok|ICC enabled}}
** 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.
* {{ok|NUWA enabled by default for b2g.}}
* {{miss|ICC enabled}}
* {{ok|Xray wrapper support for at least one pure ES object (non-DOM object).}}
** 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 [http://url.spec.whatwg.org/ url spec] parser [http://bit.ly/L6jhfQ bugs] (annevk)}}
* {{done|fix [http://url.spec.whatwg.org/ url spec] parser [http://bit.ly/L6jhfQ bugs] (annevk)}}
* {{ok|fix [http://encoding.spec.whatwg.org/ encoding spec] [http://bit.ly/1dtmHUL bugs] (algorithm revamp, clarify layering based on streams) (annevk)}}
* {{done|fix [http://encoding.spec.whatwg.org/ encoding spec] [http://bit.ly/1dtmHUL 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 [http://bit.ly/KjJ3MP feature requests] (response url, etc.) (annevk)}}
* {{done|xhr [http://bit.ly/KjJ3MP feature requests] (response url, etc.) (annevk)}}
* {{ok|Remove the overhead of off-the-main-thread parsing machinery from innerHTML parsing ({{bug|959150}}) (hsivonen)}}
* {{done|Remove the overhead of off-the-main-thread parsing machinery from innerHTML parsing ({{bug|959150}}) (hsivonen)}}
* {{ok|implement [http://picture.responsiveimages.org/ <picture>] ({{bug|870022}}) (johns)}}
* {{miss|implement [http://picture.responsiveimages.org/ <picture>] ({{bug|870022}}) (johns)}}
* {{ok|initial support for windowed mode plugins in e10s mode ({{bug|923746}}) (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)}}
* {{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)}}
* {{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
** Shadow DOM and Web Components took precedence here
* {{ok|fetch bits of service workers (part of {{bug|903441}}) (nsm)}}
* {{miss|fetch bits of service workers (part of {{bug|903441}}) (nsm)}}
* {{ok|get push running on desktop when Firefox is running ({{bug|857464}}) (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)}}
* {{done|pref on promises ({{bug|918806}}) (nsm)}}
* {{prev|cross-thread CC ({{bug|915097}}) (smaug)}}
* {{prev|cross-thread CC ({{bug|915097}}) (smaug)}}
* {{ok|tcp socket in workers ({{bug|916199}}) (jdm)}}
* {{miss|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)}}
* {{wishlist|refactor how tokenizer and tree builder use buffers to reduce memory pressure crashes (hsivonen)}}


=== WebAPI ===
=== WebAPI ===
* {{done|work with Google to triage service worker issues and begin spec (annevk)}}
* {{done|work with Google to triage service worker issues and begin spec (annevk)}}
* {{ok|decide on way forward and unbitrot sync idb ({{bug|798875}}) (janv)}}
* {{miss|decide on way forward and unbitrot sync idb ({{bug|798875}}) (janv)}}
* {{ok|Update quota manager to use PBackground ({{bug|961049}}) (janv)}}
* {{miss|Update quota manager to use PBackground ({{bug|961049}}) (janv)}}
* {{ok|finish the Data Store security UX work ({{bug|945797}}) (ehsan)}}
** 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.
* {{ok|provide feedback on text selection UI for b2g ({{bug|924692}}) (ehsan)}}
* {{deferred|finish the Data Store security UX work ({{bug|945797}}) (ehsan)}}
* {{ok|provide feedback on the [https://groups.google.com/forum/#!topic/mozilla.dev.webapi/tWkgbD1v_Gg system resource stats API] (ehsan)}}
* {{done|provide feedback on text selection UI for b2g ({{bug|924692}}) (ehsan)}}
* {{ok|gather b2g use cases for the Notification API and propose API extensions if needed (ehsan)}}
* {{done|provide feedback on the [https://groups.google.com/forum/#!topic/mozilla.dev.webapi/tWkgbD1v_Gg system resource stats API] (ehsan)}}
* {{ok|DataStore service ported to C++ ({{bug|957086}}) (baku)}}
* {{miss|gather b2g use cases for the Notification API and propose API extensions if needed (ehsan)}}
* {{ok|IDB in workers ({{bug|701634}}) (bent)}}
* {{miss|DataStore service ported to C++ ({{bug|957086}}) (baku)}}
* {{ok|continue working on manifest and prototype implementation (http://w3c.github.io/manifest/) (Marcos)}}
** 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
* {{ok|finish research for installable webapps: https://github.com/w3c-webmob/installable-webapps (Marcos)}}
* {{miss|IDB in workers ({{bug|701634}}) (bent)}}
* {{ok|finish [http://picture.responsiveimages.org/ <picture> spec] (help Tab where possible) (Marcos)}}
** 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
* {{ok|get someone to implement <s><picture></s> and Client Hints.  (Marcos)}}
* {{done|continue working on manifest and prototype implementation (http://w3c.github.io/manifest/) (Marcos)}}
* {{ok|publish netinfo use cases doc - https://github.com/w3c-webmob/netinfo (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 [http://picture.responsiveimages.org/ <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
* {{miss|get someone to implement <s><picture></s> 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)}}
* {{wishlist|get Serial API to a presentable state. http://github.com/whatwg/serial  (Marcos)}}


=== JS  ===
=== JS  ===
* {{ok|{{nbug|619558}} - Generational GC}}
* {{done|{{nbug|619558}} - Generational GC}}
* {{ok|{{nbug|837963}} - ECMA-402 i18n API}}
* {{ok|{{nbug|837963}} - ECMA-402 i18n API}}
* {{ok|{{nbug|933949}} - Optimize for Tom's Hardware's "Web Browser Grand Prix" benchmarks}}
* {{ok|{{nbug|933949}} - Optimize for Tom's Hardware's "Web Browser Grand Prix" benchmarks}}


=== Accessibility ===
=== Accessibility ===
* Sandboxing support
* Sandboxing support
** {{ok|Design accessibility roadmap}} (tbsaunde)
** {{done|Design accessibility roadmap}} (tbsaunde) [V1.0]
** {{ok|Land cleaner separation of internal and platform accessibility layers.}} (tbsaunde)
** {{drop|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)
* FFOS:Gaia (eeejay,marcoz,yzen)
** {{ok|Make at least three of these core Gaia Apps accessible: dialer, contacts, sms, browser, marketplace}}
** {{miss|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|Land initial screen reader user settings}}
** {{done|Design quick toggle for screen reader}}. [and landed]
** {{done|Design quick toggle for screen reader}}. [LANDED]
** {{ok|Add basic Gaia UI accessibility tests for lockscreen, homescreen, settings, and any app we touch from now on}}
** {{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)
* Windows UIA (Newer Accessibility API)
** {{ok|Land basic UIA text navigation implementation}} (surkov)
** {{miss|Land basic UIA text navigation implementation}} (surkov)


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


* {{ok|HTTP/2: implement draft-09 of HTTP/2 spec and continue participating in spec development. (hurley / mcmanus) }}
* {{done|HTTP/2: implement draft-09 of HTTP/2 spec and continue participating in spec development. (hurley / mcmanus) }}
* {{ok|Turn on new HTTP cache in nightly (honza / michal) }}
* {{miss|Turn on new HTTP cache in nightly (honza / michal) }}
* {{ok|followups to seer to reduce CPU/disk usage ({{bug|945779}}, {{bug|948448}}, {{bug|948448}}) (hurley) }}
** plan to land on m-c in early May (Firefox 32)
* {{ok|Support off-main send/recv from Websockets (for workers) ({{bug|925623}}) (sworkman) }}
* {{done|followups to seer to reduce CPU/disk usage ({{bug|945779}}, {{bug|948448}}, {{bug|948448}}) (hurley) }}
* {{ok|Investigate whether we can get network up/down link detection on all platforms  [lame-network] {{bug|939318}} (bagder/sworkman) }}
* {{done|Support off-main send/recv from Websockets (for workers) ({{bug|925623}}) (sworkman) }}
* {{ok|B2G: Provide way to "set network offline" per app ({{bug|786419}}) (jduell) }}
* {{done|Investigate whether we can get network up/down link detection on all platforms  [lame-network] {{bug|939318}} (bagder/sworkman) }}
* {{ok|Add support for connecting to HTTP proxy over HTTPS ({{bug|378637}}) (mcmanus)  }}
* {{deferred|B2G: Provide way to "set network offline" per app ({{bug|786419}}) (jduell) }}
* {{ok|turn off insecure v2 NTLM ({{bug|828183}}) (honza) }}
* {{miss|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  ===
=== Mobile  ===
=== Security & Privacy ===
=== Security & Privacy ===
[[SecurityEngineering/2014/Q1Goals]].
[[SecurityEngineering/2014/Q1Goals]].
* {{ok|Tracking protection: Extend nsChannelClassifier to block network loads from tracking domains based on a remote list.}}
* {{drop|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.
* {{prev|Revocation: Land insanity, key pinning and name constraints (briansmith, cviecco}}
** {{done|(mmc) Fix lightbeam}}
* {{ok|Sandboxing: set path to remote file access, begin to remove OPEN syscall from sandbox on linux/b2g and equivalent on windows. (bbondy, kang, sid, ckerschb) }}
** {{miss|(mmc) add blocking heuristics}} (added to third party addon as experiment instead of lightbeam)
* {{ok|Perf/CSP: CSP rewrite in C++ for perf on B2G and all platforms (ckerschb, grobinson) }}
* {{done|Revocation: Land insanity, <strike>key pinning</strike> 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) }}
* {{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 ===
=== Release Engineering ===
* [https://docs.google.com/a/mozilla.com/spreadsheet/ccc?key=0Ajlqy6z1WDBvdGNxaFFpbnQ4UDdySzZVcGU1RkN4b0E&usp=sharing&pli=1#gid=7 In Google docs, March tab]
=== Web Engineering ===
* [https://etherpad.mozilla.org/webeng-q12014 etherpad]
Confirmed users
311

edits