Platform/2008-Q4-Goals
From MozillaWiki
< Platform
Contents
General Goals
- Ship two 1.9.1 milestones.
- Joint w/ Security Team: Have JS, GFX, Content, and Layout focus on 1-3 security bugs each and resolve at least one bug a week per group in order to reduce our security bug backlog.
XPCOM+XPConnect
- Map out allocator strategy: if XPCOMGC+Boehm, then:
- Fragementation improvements in Boehm allocator
- Make spidermonkey use the new GC
- Make content GCed instead of refcounted, remove cycle-collector, and make xpconnect aware of GCed nodes (probably longer than a 3-month goal)
Layout
- Double down on wanted1.9.1/blocking1.9.1 bug list
- Regressions
- Security bugs
- Performance hotspots
- All 1.9.1 blockers marked blocking before December fixed by end of December
[On track for layout proper; at risk for SVG and Video/Audio]
- Linux support for CSS downloadable fonts
[Done]
- Land and stabilize support for external resource documents
[Done]
- Plan post-1.9.1 feature set
[On track]
GFX
- Performance
- (atrisk) Create plan for hardware graphics acceleration
- (done -- ongoing) Optimize mobile performance for high user perf on next-gen devices
- Capabilities
- (miss) Experimental builds with access to more OpenType and other low-level features
- (?) Have decode-on-draw option for image rendering
- (inprogress) Draft of Canvas 3D OpenGL API spec
Mac OS X
- [DONE] Finish Mac OS X platform blockers for Gecko 1.9.1.
- Goal of zero blockers unrealistic. Should have worded this better.
- [NOT DONE] Complete specification for plugin event handling which will allow plugins to not eat events they don't handle (bug 78414). Spec should cover windowed and windowless plugins.
- Not going to be finished in Q4, in progress. Delayed due to unforeseen problems with the plugin testing system.
- [NOT DONE] Make decisions about PPC and Mac OS X 10.4 support post-1.9.1.
- Not dropping PPC support for 1.9.next
- 10.4 decision is near complete, people are on vacation.
- [DONE] Make significant progress towards an NPAPI testing framework.
- [DONE] Make significant progress towards 64-bit readiness.
Content
- [DONE] Support Firefox 3.1 ship
- Major DOM performance improvements
- [AT RISK] Fast JS JIT->DOM calls for performance critical methods
- [AT RISK] innerHTML perf improvments
- [DONE] Stake out off-main thread HTML parsing work
- Tie up loose ends from previous releases
- [ON TRACK] Fix nsIDocument::GetScriptGlobalObject() properly
- [ON TRACK] Cycle collection sanitizing (inner/outer window lifetime cleanup, docshell cycle collection, delayed window collection regression tests)
- [AT RISK] Make XHR (*not* crossite related) spec compliant
- Misc
- [AT RISK, progress made but most likely won't be ready this quarter] Eliminate notification batching in the content sinks
JS
- tracing: no known regressions and on by default
- regex: substantial perf improvement ( > 2x)
- tracing: recursion
Build System
- Finish the spidermonkey standalone build system
- Get the spidermonkey unit tests running as part of TUnit
Static Analysis
- Aggregate dead code data from mac/linux/windows and present it via html reports with links to relevant sourcecode.
- Setup dehydra buildbots on mac/linux
- Produce debian packages for pluginified gcc + dehydra