Platform/2009-Q1-Goals
< Platform
Jump to navigation
Jump to search
General Goals
- Ship two major milestones of 1.9.1
- Finalize key work items for 1.9.2.
XPCOM+XPConnect
Layout
- For 1.9.2: Improve handling of complex DHTML pages containing plug-ins (especially Flash); at present Firefox is said to be "worse than IE6" at this (that's a direct quote).
- Poor behavior in this area makes it harder for web developers to reduce their use of Flash, because they pretty much have to have everything in Flash or everything in DHTML, not a mixture.
- roc's compositor will help, but may not be enough by itself.
- Some of the bugs in this area, in no particular order: 457384 (and its close relatives 334321 and 253474), 90268, 421866, 78414, 312920/347185, 452448.
- Ship 1.9.1 with no regression blockers unfixed and a reasonable subset of the current fuzz-blockers fixed
- Compositor well under way (some preliminary patches landed)
- One or more major layout architecture projects code-complete (e.g. overflow area refactoring)
- Core SMIL landed, not yet enabled
- Style system support for CSS transitions and SMIL animation of CSS written, if not landed
- Some major new CSS features landed (e.g., multiple backgrounds, SVG images)
- Interruptible reflow 67752
Video/Audio
- Ship the current feature set in 1.9.1 with reasonable stability and performance
GFX
- For 1.9.2, refactor font management to unify style matching across platforms.
- Agree API for Harfbuzz integration with the Harfbuzz developers.
Mac OS X
- Stay on top of Gecko 1.9.1 blockers, be prepared to ship Firefox 3.1 in line with other groups.
- Perform basic tests on Mac OS X 10.6. File bugs on any critical issues.
- Continue making progress on 64-bit Mac OS X port. Get JS compiling and do the work necessary to port at least one other significant outstanding problem component (e.g. XPCOM I/O, MoreFilesX, printing, AppleScript, plugins, cursors).
- Complete specification for plugin event handling which will allow plugins to not eat events they don't handle (bug 78414).
- For 1.9.2, replace use of (deprecated) ATSUI APIs with CoreText when running on 10.5 and later.
Content
- Assist with shipping Firefox 3.1. (all)
- Further improved DOM performance (i.e. dromaeo). (peterv)
- Get an off-main thread HTML parser up n' running. (bnewman)
- Actually start working on XBL2. (sicking)
- Finish up the remainder of our Web Workers implementation (excluding shared workers), bugs 466254, 468665. (bent)
- Investigate the feasibility of sharing out of process plugin code with Chromium. (bent, kinetik)
- Make significant progress on HTML5 parsing. (hsivonen)
- Figure out how to make it safe for extensions to define arbitrary properties on unsafe objects (i.e. add something like XPCUnsafeJSObjectWrapper), bug 464527. (mrbkap)
- Sanitize the interaction between evalInSandbox() and various wrappers. (mrbkap)
- Start speculatively loading images and style sheets, 457809, 457810. (mrbkap)
JS
- Fix all major correctness bugs in tracing.
- Get to the point where TraceMonkey can trace most of the code in SunSpider and in web apps reported as perf/regression bugs, including treating recursion as a loop.
- Test prototype of parallel compilation of traces.
- Take one step to enhance GC. E.g., reduce pause times, run CC in parallel, detect memory pressure accurately.
Build System
- Fix things so we can run tests on prepackaged builds bug 421611
- Squeeze some more speed out of the Windows build
Static Analysis
- Document Treehydra and abstract interpretation (ESP) libraries.
- Get a type-based call graph for Mozilla in a conveniently usable, documented form. Test it by trying out a simple interprocedural analysis.
Accessibility
...consulting with a11y team but goals likely to include:
- Near-full ARIA 1.0 compliance (DHTML accessibility)
- Lazy instantiation for GNOME/Linux (perf issue). GNOME at-spi work is a dependency here so we might not hit this.
- Updating documentation, in particular user agent aria impl guide (unfortunately now housed at W3C)