Platform/2010-Q1-Goals: Difference between revisions

 
(22 intermediate revisions by 7 users not shown)
Line 14: Line 14:
=== GFX ===
=== GFX ===
* Performance
* Performance
** {{risk|Implement the Gecko Layers API in software (Thebes) and at least one hardware implementation.}}
** {{done|Implement the Gecko Layers API in software (Thebes) and at least one hardware implementation.}} We landed OpenGL layers support on March 29th.
** {{risk|Implement full-screen, accelerated (YUV->RGB) video on top of the Gecko Layers API.}}
** {{done|Implement full-screen, accelerated (YUV->RGB) video on top of the Gecko Layers API.}}
** {{ok|Implement shared memory tile browsing, using Electrolysis, for Fennec.}}
** {{done|Implement shared memory tile browsing, using Electrolysis, for Fennec.}}
** {{ok|Improve out-of-process plugin performance.}}
** {{done|Improve out-of-process plugin performance.}}
** {{ok|Continue to support the Electrolysis and startup time projects.}}
** {{done|Continue to support the Electrolysis and startup time projects.}}
* Font Feature Improvement
* Font Feature Improvement
** Add CSS parser support for additional OpenType-related font-variant properties
** {{miss|Add CSS parser support for additional OpenType-related font-variant properties}}
*** ''I guess this won't make it since AFAIK there's no patch yet. [roc]''


=== Layout ===
=== Layout ===
* {{ontrack|Improve the Web platform by contributing to tests and specifications by publishing the CSS2.1 test suite RC and/or identifying advanced layout specs for the future of the web.}}
* {{done|Improve the Web platform by contributing to tests and specifications by publishing the CSS2.1 test suite RC and/or identifying advanced layout specs for the future of the web.}}
* {{atrisk|Improve the Web platform by implementing key features and correctness fixes to enable the use of SVG animation and more CSS3 features (Backgrounds, borders, or calc(), text-overflow, etc.) in the next release.}}
** ''fantasai, bzbarsky and dbaron all did work here. [roc]''
* {{ontrack|Improve perceived and measured performance in SVG, bidi, reflow, and CSS.}}
* {{miss|Improve the Web platform by implementing key features and correctness fixes to enable the use of SVG animation and more CSS3 features (Backgrounds, borders, or calc(), text-overflow, etc.) in the next release.}}
* {{ontrack|Complete general product improvements like Layers to enable more hardware acceleration.}} See Gfx for concrete layers work items.
** ''dbaron was absorbed by the :visited privacy bug. We did improve SVG animation a fair bit, but overall I'd say we didn't hit this. [roc]''
* {{miss|Improve perceived and measured performance in SVG, bidi, reflow, and CSS.}}
** ''We fixed the big hang loading the HTML5 spec. No progress in SVG or bidi. Might still land lazy frame construction in Q1. [roc]''
* {{miss|Complete general product improvements like Layers to enable more hardware acceleration.}} ''See Gfx for concrete layers work items and status.''


=== Video/Audio ===
=== Video/Audio ===


* {{ontrack|Complete removing dependencies on unnecessary third-party libraries.}}
* {{ok|Complete removing dependencies on unnecessary third-party libraries.}}
* {{missed|Hardware-accelerated video rendering in Gecko on all platforms with suitable graphics hardware (20+fps full-screen on N900).}} ''We won't get accelerated full-screen video on N900 mainly because an OpenGL layers backend won't be ready in time to support this. However, we do have 25fps full-screen video working in our test player, with ~50% CPU utilization.''
* {{miss|Hardware-accelerated video rendering in Gecko on all platforms with suitable graphics hardware (20+fps full-screen on N900).}} ''We won't get accelerated full-screen video on N900 mainly because an OpenGL layers backend won't be ready in time to support this. However, we do have 25fps full-screen video working in our test player, with ~50% CPU utilization.''


=== [[Platform/2010-Q1-Goals/Content|Content]] ===
=== [[Platform/2010-Q1-Goals/Content|Content]] ===
* {{risk|Move the web forward by landing WebSockets, enabling the HTML 5 parser by default, and/or finishing more File spec API improvements (i.e., File.url).}}
* {{miss|Move the web forward by landing WebSockets, enabling the HTML 5 parser by default, and/or finishing more File spec API improvements (i.e., File.url).}}
** {{risk|WebSockets has r+, but needs another review. Reviews may happen, but testing infrastructure for it is unlikely to be ready}}
** {{miss|WebSockets has r+, but needs another review. Reviews may happen, but testing infrastructure for it is unlikely to be ready}}
** {{risk|HTML 5 parser code is likely to be done, and reviewed, but testing infrastructure is lagging behind and is unlikely to be ready by the end of the quarter.}}
** {{miss|HTML 5 parser code is likely to be done, and reviewed, but testing infrastructure is lagging behind and is unlikely to be ready by the end of the quarter.}}
** {{done|File API stuff is done.}}
** {{done|File API stuff is done.}}
* {{ok|Ship out of process plugins betas for windows and continue forward progress on full Electrolysis plans by getting basic HTTP working across processes and implementing multi-proc event handling.}}
* {{miss|Ship out of process plugins betas for windows and continue forward progress on full Electrolysis plans by getting basic HTTP working across processes and implementing multi-proc event handling.}}
** {{ok|OOPP}}
** {{done|OOPP}}
** {{ok|HTTP across processes}}
** {{miss|HTTP across processes}}
** {{done|e10s event handling}}
** {{done|e10s event handling}}
* {{ok|Improve performance by eliminating more cycles between JIT generated code and our DOM code, and by speeding up our DOM implementation as well.}}
* {{miss|Improve performance by eliminating more cycles between JIT generated code and our DOM code, and by speeding up our DOM implementation as well. <i>This work did get done, but due to last minute interruptions by security bug work, it didn't land. But the work is done and reviewed ({{bug|533637}}, {{bug|519614}}, {{bug|554432}}).</i>}}
* {{risk|Investigate (and fix as needed) the impact of Firebug on Firefox performance and memory usage}}
* {{miss|Investigate (and fix as needed) the impact of Firebug on Firefox performance and memory usage}}
** Implement back-end functionality for allowing Firebug to hook into document load and unload to eliminate perceived performance problems with the use of Firebug.
** Implement back-end functionality for allowing Firebug to hook into document load and unload to eliminate perceived performance problems with the use of Firebug.


=== JS ===
=== JS ===
* {{ok|Continue to improve responsiveness: GC}}
* {{done|Continue to improve responsiveness: GC}}
* Performance
* Performance
** {{risk|reduce performance uniformity issues (slow on some kinds of code)}}
** {{miss|reduce performance uniformity issues (slow on some kinds of code)}}
** {{risk|SunSpider / v8 perf improvements, another 30%.}}
** {{miss|SunSpider / v8 perf improvements, another 30%.}}
** {{ok|jsval 64-bit representation - this allows better perf on win64 and snow leopard.}}
** {{miss|jsval 64-bit representation - this allows better perf on win64 and snow leopard.}}
* Improve Web Platform with new features:
* Improve Web Platform with new features:
** {{done|byte vectors for gfx and other uses - specialized ways to ship graphics data around.}}
** {{done|byte vectors for gfx and other uses - specialized ways to ship graphics data around.}}
Line 59: Line 63:
*** {{miss|profiling hooks from JSExecute}}
*** {{miss|profiling hooks from JSExecute}}
*** {{miss|heap profiling API}}
*** {{miss|heap profiling API}}
* {{ok|Basic inline threading system. This should be able to run almost all programs with inline threading, be at least a little faster with the tracing jit on, and be no slower with the tracing jit off.}}
* {{done|Basic inline threading system. This should be able to run almost all programs with inline threading, be at least a little faster with the tracing jit on, and be no slower with the tracing jit off.}}


=== Accessibility ===
=== Accessibility ===
* {{ok|Drive web accessibility with HTML5 (+ARIA)}}
* {{done|Drive web accessibility with HTML5 (+ARIA)}}
** {{ok|address changes to WAI-ARIA specification}}
** {{done|address changes to WAI-ARIA specification}}
** {{ok|resolve known WAI-ARIA and HTML5 conflicts}}
** {{done|resolve known WAI-ARIA and HTML5 conflicts}}
** {{ok|participate in canvas accessibility}}
** {{done|participate in canvas accessibility}}
** {{done|participate in MathML and SVG accessibility}}
** {{done|participate in MathML and SVG accessibility}}
* {{done|Gather information from web content more safely}}
* {{done|Gather information from web content more safely}}
** {{done|Assist with creation of additional DOM API (reduce frame tree walking)}}
** {{done|Assist with creation of additional DOM API (reduce frame tree walking)}}
** {{done|Reorganize event code}}
** {{done|Reorganize event code}}
* {{risk|Drive accessible editing on the web}}
* {{miss|Drive accessible editing on the web}}
** {{risk|Get agreement on editor keyboard behavior.}}
** {{miss|Get agreement on editor keyboard behavior.}}


=== Multi-Process ===
=== Multi-Process ===
Line 77: Line 81:
** {{miss|stretch goal: release multi-process plugins}}
** {{miss|stretch goal: release multi-process plugins}}
* {{miss|Release a beta of multi-process Flash (mac)}}
* {{miss|Release a beta of multi-process Flash (mac)}}
* {{risk|Make Fennec + Multi-Process fully functional (ready to measure and tune performance)}}
* {{miss|Make Fennec + Multi-Process fully functional (ready to measure and tune performance)}}
* {{ok|Integrate Multi-Process/Thread architecture into JetPack}}
* {{done|Integrate Multi-Process/Thread architecture into JetPack}} (super-basic prototype, all that was expected this quarter)
Confirmed users
839

edits