Platform/2008-Q4-Goals

From MozillaWiki
Jump to: navigation, search

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