Platform/2014-Q1-Goals: Difference between revisions

 
(21 intermediate revisions by 11 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. {{bug|35168}}, {{bug|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 {{bug|931668}}) }}
* {{done|Improve Restyling Performance (bugs like {{bug|931668}}) }}
* {{ok|Ship Flexbox Pagination }} ({{bug|939897}} and helpers)
* {{prev|Ship Flexbox Pagination }} ({{bug|939897}} and helpers)


=== Media ===
=== Media ===
Line 22: Line 22:


=== 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.
* {{miss|ICC enabled}}
** 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|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|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)}}
* {{done|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)}}
** 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|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)}}
** 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|get push running on desktop when Firefox is running ({{bug|857464}}) (nsm)}}
** Deferred to wait for service workers to be introduced into push spec
** 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)}}


Line 51: Line 57:
* {{done|provide feedback on text selection UI for b2g ({{bug|924692}}) (ehsan)}}
* {{done|provide feedback on text selection UI for b2g ({{bug|924692}}) (ehsan)}}
* {{done|provide feedback on the [https://groups.google.com/forum/#!topic/mozilla.dev.webapi/tWkgbD1v_Gg system resource stats API] (ehsan)}}
* {{done|provide feedback on the [https://groups.google.com/forum/#!topic/mozilla.dev.webapi/tWkgbD1v_Gg system resource stats API] (ehsan)}}
* {{ok|gather b2g use cases for the Notification API and propose API extensions if needed (ehsan)}}
* {{miss|gather b2g use cases for the Notification API and propose API extensions if needed (ehsan)}}
* {{ok|DataStore service ported to C++ ({{bug|957086}}) (baku)}}
* {{miss|DataStore service ported to C++ ({{bug|957086}}) (baku)}}
** 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
* {{miss|IDB in workers ({{bug|701634}}) (bent)}}
* {{miss|IDB in workers ({{bug|701634}}) (bent)}}
** 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
** 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
Line 68: Line 75:


=== 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]
** {{drop|Land cleaner separation of internal and platform accessibility layers.}} (tbsaunde)
** {{drop|Land cleaner separation of internal and platform accessibility layers.}} (tbsaunde)
** add: {{ok|Get a11y events working across process}} (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)
** {{miss|Land basic UIA text navigation implementation}} (surkov)
** {{miss|Land basic UIA text navigation implementation}} (surkov)
Line 93: Line 98:
* {{done|Write a Talos test for the CustomizationUI animation in Australis}}
* {{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|Serverside: Full support for self-serve telemetry data analysis (both ad hoc and scheduled)}}
* {{ok|Write a Talos test for power use}}
* {{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|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|Procure slow netbooks to be used as reference hardware for performance testing}}
* {{ok|Add support for capturing profiles during Talos tests}}
* {{ok|Add support for capturing profiles during Talos tests}}
* {{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}}
* {{risk|Reduce Firefox power usage when the browser is idle}}
* {{miss|Reduce Firefox power usage when the browser is idle}}
* {{risk|Add a journalled storage format to Gecko for better performance & start converting users in the codebase, e.g. prefs}}
* {{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|Follow up on any Talos issues that fall out of enabling OMTC}}
* {{deferred|Track & help with scrolling work}}
* {{deferred|Track & help with scrolling work}}
Line 109: Line 114:
* {{done|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) }}
* {{miss|Turn on new HTTP cache in nightly (honza / michal) }}
* {{miss|Turn on new HTTP cache in nightly (honza / michal) }}
** plan to land on m-c in early May (Firefox 32)
* {{done|followups to seer to reduce CPU/disk usage ({{bug|945779}}, {{bug|948448}}, {{bug|948448}}) (hurley) }}
* {{done|followups to seer to reduce CPU/disk usage ({{bug|945779}}, {{bug|948448}}, {{bug|948448}}) (hurley) }}
* {{ok|Support off-main send/recv from Websockets (for workers) ({{bug|925623}}) (sworkman) }}
* {{done|Support off-main send/recv from Websockets (for workers) ({{bug|925623}}) (sworkman) }}
* {{done|Investigate whether we can get network up/down link detection on all platforms  [lame-network] {{bug|939318}} (bagder/sworkman) }}
* {{done|Investigate whether we can get network up/down link detection on all platforms  [lame-network] {{bug|939318}} (bagder/sworkman) }}
* {{risk|B2G: Provide way to "set network offline" per app ({{bug|786419}}) (jduell) }}
* {{deferred|B2G: Provide way to "set network offline" per app ({{bug|786419}}) (jduell) }}
* {{risk|Add support for connecting to HTTP proxy over HTTPS ({{bug|378637}}) (mcmanus)  }}
* {{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|turn off insecure v1 NTLM ({{bug|828183}}) (honza) }}
* {{done|Provide way to "Divert" a channel from child to parent ({{bug|975338}}) (sworkman/jduell) }}
* {{done|Provide way to "Divert" a channel from child to parent ({{bug|975338}}) (sworkman/jduell) }}
* {{ok|Download manager sometimes thinks that incomplete downloads are complete; cannot resume/retry ({{bug|237623}}) (bagder) }}


=== Mobile  ===
=== Mobile  ===
Line 122: Line 128:
[[SecurityEngineering/2014/Q1Goals]].
[[SecurityEngineering/2014/Q1Goals]].
* {{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.
* {{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.
** {{ok|(mmc) Fix lightbeam, add blocking heuristics}}
** {{done|(mmc) Fix lightbeam}}
* {{ok|Revocation: Land insanity, <strike>key pinning</strike> and name constraints (briansmith, cviecco}}
** {{miss|(mmc) add blocking heuristics}} (added to third party addon as experiment instead of 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) }}
* {{done|Revocation: Land insanity, <strike>key pinning</strike> and name constraints (briansmith, keeler, cviecco)}}
* {{ok|Perf/CSP: CSP rewrite in C++ for perf on B2G and all platforms (ckerschb, grobinson) }}
* {{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