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.
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
- 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).
- 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.
- Improve performance by eliminating more cycles between JIT generated code and our DOM code, and by speeding up out DOM implementation as well.
- 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
- Continue to improve responsiveness: GC
- Performance
- reduce performance uniformity issues (slow on some kinds of code)
- SunSpider / v8 perf improvements, another 30%.
- jsval 64-bit representation - this allows better perf on win64 and snow leopard.
- Improve Web Platform with new features:
- byte vectors for gfx and other uses - specialized ways to ship graphics data around.
- Begin building out tool Support
- Design JSD replacement
- profiling support w/ JIT active
- profiling hooks from JSExecute
- heap profiling API
- 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
- Drive web accessibility with HTML5 (+ARIA)
- address changes to WAI-ARIA specification
- resolve known WAI-ARIA and HTML5 conflicts
- participate in canvas accessibility
- participate in MathML and SVG accessibility
- Gather information from web content more safely
- Assist with creation of additional DOM API (reduce frame tree walking)
- Reorganize event code
- Drive accessible editing on the web
- Get agreement on editor keyboard behavior.
Multi-Process
- Release multiple betas of multi-process plugins (Windows/Linux)
- stretch goal: release multi-process plugins
- Release a beta of multi-process Flash (mac)
- Make Fennec + Multi-Process fully functional (ready to measure and tune performance)
- Integrate Multi-Process/Thread architecture into JetPack