Platform/2010-Q1-Goals
< Platform
Jump to navigation
Jump to search
General Goals
- Ship 3.6.
- Implement security model for JetPack and eliminate platform blockers to the implementation of Jetpack panels.
- Complete out of process plugins for windows and deliver a beta version of OOPP for mac.
- 25% Ts improvement on Windows.
- Kill sg:crits to <= 20.
- Implement Layers to enable more hardware acceleration.
- Identify and fix key performance and capability issues for developer tools.
- Implement crash reporting for ARM.
- Implement crash reporting for x86_64 Linux and Mac.
- Enable -fomit-frame-pointer optimization on x86 Linux and Mac.
GFX
- Performance
- Implement the Gecko Layers API in software (Thebes) and at least one hardware implementation.
- Implement full-screen, accelerated (YUV->RGB) video on top of the Gecko Layers API.
- Implement shared memory tile browsing, using Electrolysis, for Fennec.
- Improve out-of-process plugin performance.
- Continue to support the Electrolysis and startup time projects.
- Font Feature Improvement
- Add CSS parser support for additional OpenType-related font-variant properties
Layout
- 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.
- 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.
- Improve perceived and measured performance in SVG, bidi, reflow, and CSS.
- Complete general product improvements like Layers to enable more hardware acceleration.
Video/Audio
- Complete removing dependencies on unnecessary third-party libraries.
- Hardware-accelerated video rendering in Gecko on all platforms with suitable graphics hardware (20+fps full-screen on N900).
Content
- [AT 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).
- [AT RISK] WebSockets has r+, but needs another review. Reviews may happen, but testing infrastructure for it is unlikely to be ready
- [AT 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.
- [DONE] File API stuff is done.
- [ON TRACK] 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.
- [ON TRACK] OOPP
- [ON TRACK] HTTP across processes
- [DONE] e10s event handling
- [ON TRACK] Improve performance by eliminating more cycles between JIT generated code and our DOM code, and by speeding up our DOM implementation as well.
- [AT RISK] 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.
JS
- [ON TRACK] Continue to improve responsiveness: GC
- Performance
- [AT RISK] reduce performance uniformity issues (slow on some kinds of code)
- [AT RISK] SunSpider / v8 perf improvements, another 30%.
- [ON TRACK] jsval 64-bit representation - this allows better perf on win64 and snow leopard.
- Improve Web Platform with new features:
- [DONE] byte vectors for gfx and other uses - specialized ways to ship graphics data around.
- Begin building out tool Support
- [MISSED] Design JSD replacement
- [MISSED] profiling support w/ JIT active
- [MISSED] profiling hooks from JSExecute
- [MISSED] heap profiling API
- [ON TRACK] 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
- [ON TRACK] Drive web accessibility with HTML5 (+ARIA)
- [ON TRACK] address changes to WAI-ARIA specification
- [ON TRACK] resolve known WAI-ARIA and HTML5 conflicts
- [ON TRACK] participate in canvas accessibility
- [DONE] participate in MathML and SVG accessibility
- [DONE] Gather information from web content more safely
- [DONE] Assist with creation of additional DOM API (reduce frame tree walking)
- [DONE] Reorganize event code
- [AT RISK] Drive accessible editing on the web
- [AT RISK] Get agreement on editor keyboard behavior.
Multi-Process
- [ON TRACK] Release multiple betas of multi-process plugins (Windows/Linux)
- [MISSED] stretch goal: release multi-process plugins
- [MISSED] Release a beta of multi-process Flash (mac)
- [AT RISK] Make Fennec + Multi-Process fully functional (ready to measure and tune performance)
- [ON TRACK] Integrate Multi-Process/Thread architecture into JetPack