Platform/2009-Q2-Goals: Difference between revisions
< Platform
Jump to navigation
Jump to search
DavidBolter (talk | contribs) |
DavidBolter (talk | contribs) (→Accessibility: Surkov reports all table/grid items are ontrack.) |
||
| Line 93: | Line 93: | ||
* Properly expose tables/treegrids/grids so that our users can use spreadsheets etc. | * Properly expose tables/treegrids/grids so that our users can use spreadsheets etc. | ||
** Design accessible table implementation (nsIAccessibleTable?) | ** '''[ontrack]''' Design accessible table implementation (nsIAccessibleTable?) | ||
** Pure ARIA table/grid support {{bug|386813}} | ** '''[ontrack]''' Pure ARIA table/grid support {{bug|386813}} | ||
** Tree and Treegrid harmonization {{bug|367905}} | ** '''[ontrack]''' Tree and Treegrid harmonization {{bug|367905}} | ||
** provide suggested specification/BP for aria tables WRT level, size, posinset VS owns (UAI TF item) | ** '''[ontrack]''' provide suggested specification/BP for aria tables WRT level, size, posinset VS owns (UAI TF item) | ||
* Improve ARIA 1.0 Support as it moves us towards full DHTML accessibility | * Improve ARIA 1.0 Support as it moves us towards full DHTML accessibility | ||
** '''[ontrack]''' Target > 90% resolution of tracker {{bug|343213}} | ** '''[ontrack]''' Target > 90% resolution of tracker {{bug|343213}} | ||
Revision as of 00:36, 13 May 2009
General Goals
- Ship Firefox 3.5
- Planning for 1.9.2 completed with clear work items prioritized and resources named.
- Special Engineering team formed to determine multi-process strategy and begin implementation.
Layout
- Improve security with architectural improvements to eliminate or reduce the severity of large classes of known and unknown bugs.
- Implement protection against dangling frame pointers and measure its security and performance impact (may or may not enable for release builds, depending on performance) (zwol) [on-track]
- Improve performance with architectural changes, spot fixing, and code cleanup.
- Implement hoisting of plugin widgets to the top level and removal of most existing content widgets (roc) Note: this also fixes bugs, cleans up code and paves the way for other improvements such as hardware-accelerated rendering. [on-track]
- Perform general code cleanup to enhance the maintainability of our code.
- Land major SVG cleanup (bug 435356 and others) (jwatt) [on-track]
- Add capabilities to the Web platform and fix major bugs to increase its developer appeal vs non-open platforms (especially where we lag other browsers, so we're not the ones holding the Web back)
- Publish draft of flexible box model spec (dbaron) [no-progress]
- Propose draft spec for font feature support in CSS (jdaggett, jfkthame) [no-progress]
- Some functioning pieces of backend for web-developer-facing/user-facing memory tools (dbaron; not really Layout) [no-progress]
- Significant progress on CSS Transitions implementation (dbaron) [roc: can we be more specific, like "working CSS Transitions demo"?] [no-progress]
- Support SMIL Animation of CSS properties (bug 474049) (dholbert) [on-track]
- Enhance the XUL platform by adding capabilities needed for planned front-end features.
- Implement SVG images for CSS/HTML (needed for Dynamic Personas) (roc) Note: Improves Web Platform as well. [no-progress]
- Continue advancing HTML5 video on the web.
- Implement some significant remaining HTML5 video API features (e.g., 'poster' attribute, cue ranges, 'loop' attribute) (cpearce, doublec, kinetik) [no-progress]
GFX
- Improve Thebes/Cairo, both in functionality and performance, to fulfill the requirements of layout and other teams. This is some set of:
- Cairo Correctness/Capabilities
- EXTEND_NONE/EXTEND_PAD madness
- Support for advanced gradient effects (border-corner case)
- Cairo Performance
- Improved image scaling quality and performance
- Win32 scanline rasterizer integration
- Mobile performance improvements
- Font rendering enhancements
- Exposing Cairo user fonts for SVG Font usage
- Improvements in large-family support across platforms
- Direct harfbuzz integration
- Cairo Correctness/Capabilities
- Prototype hardware acceleration on at least one platform, to demonstrate feasibility and evaluate potential performance gains from hardware accel.
- Examine cross-process options for accelerated rendering
- Integrate Canvas 3D (or its successor) into trunk, to allow for faster iteration, closer integration with JS, video, etc., and improved performance through tracing
Mac OS X
- Modernize NPAPI on Mac OS X: use plugin events that match up with modern Cocoa events, simplify plugin development by using modern events/APIs, allow for 64-bit plugins.
- Implement the Cocoa NPAPI event model.
- Continue 64-bit preparation. 64-bit applications are status quo in Mac OS X 10.6, we should be prepared to offer a 64-bit Mac OS X Gecko 1.9.2 binary if we need to.
- Finish XPCOM port.
- Finish Cocoa NPAPI event model.
- Be prepared for Mac OS X 10.6. Release is months away.
- Notify QA of seed releases.
- Track any major regressions.
Content
- Determine the strategy to improve overall stability of the browser by running plugins out of process and implement one or more elements of that strategy.
- Public discussion to determine strategy.
- Have a public discussion on how to share graphics contexts between processes.
- Implement and test an IPC mechanism for out of process plugins.
- Improve DOM Performance
- Finish staying on trace while calling into the DOM.
- Finish slimwrapper work (bug slimwrapper)
- Ideally, begin profiling the DOM beyond the JS to C++ bridge.
- XBL1 has architectural problems and our implementation is unsafe and unmaintainable. We need to begin our XBL2 implementation.
- Document implementation strategy for XBL2 attachment, detachment, and shadow tree.
- Implement attachment, detachment, and initial rendering of the shadow tree.
- Determine strategy to improve responsiveness of the browser on multicore machines.
- Publicly discuss off main thread HTML parsing approach.
- Incorporate what we learned from our OMTP prototype into the HTML5 parser.
- Propose an off main thread network IO implementation
- Implement HTML5 to move the web forward and make HTML more interoperable.
- Fix HTML5 implementation so that it passes our functional tests.
- Land our current HTML5 implementation in mozilla-central pref'd off and begin testing with public consumption.
- Get feedback on how web compatible HTML5 is, and how developer friendly it is.
JS
- Performance advances
- trace recursion, event handlers, other forms of looping. High performance execution on these forms of code is needed to remain competitive.
- improved ARM performance. More efficient JS execution on mobile is possible, and our architecture should really pay off if we improve the generated assembly.
- nanojit compilation speed improvements. We sometimes pay a heavier than necessary cost when compiling to native code, turning what should be 4x improvement into a 2x improvement, for example.
- improve interpreter performance. Sometimes it just doesn't pay to trace, for code that never executes twice. We need to speed up our interpreter by generating a more efficient dispatch loop and making other organizational changes to pieces of SpiderMonkey's architecture that are with us from previous releases.
- Reduce user perceived pausing under heavy JS computation. This is easy to see in some JS animations, etc.
- GC scalability
- Create less garbage (doubles, strings, etc)
- ES 3.1 major features in testing, including Object.defineProperty et al, strict mode. Need to keep up with IE, etc on standards.
- Improve SpiderMonkey maintainability
- cleaner, safer code -> moving from jschar* buffers to c++ vectors, f.e.
Accessibility
- Properly expose tables/treegrids/grids so that our users can use spreadsheets etc.
- [ontrack] Design accessible table implementation (nsIAccessibleTable?)
- [ontrack] Pure ARIA table/grid support bug 386813
- [ontrack] Tree and Treegrid harmonization bug 367905
- [ontrack] provide suggested specification/BP for aria tables WRT level, size, posinset VS owns (UAI TF item)
- Improve ARIA 1.0 Support as it moves us towards full DHTML accessibility
- [ontrack] Target > 90% resolution of tracker bug 343213
- [ontrack] Hidden live region updates bug 444644
- [ontrack] Assignments in ARIA User Agent Implementation Task Force, UAI TF, and PFWG ARIA subteam
- [ontrack] Seek solution for aria mutations bug 467144 or W3C issue