Platform/2009-Q1-Goals

From MozillaWiki
Jump to: navigation, search

General Goals

  • Ship two major milestones of 1.9.1
  • Finalize key work items for 1.9.2.

XPCOM+XPConnect

Layout

  • Ship 1.9.1 with no regression blockers unfixed and a reasonable subset of the current fuzz-blockers fixed [on track]
  • Compositor well under way (some preliminary patches landed) [no progress]
    • 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.
  • One or more major layout architecture projects code-complete (e.g. overflow area refactoring) [on track; Boris' frame constructor work is going well]
  • Core SMIL landed, not yet enabled [done]
  • Style system support for either CSS transitions or SMIL animation of CSS written, if not landed (both done for 1.9.2) [no progress]
  • Some major new CSS features landed (e.g., multiple backgrounds, SVG images) [on track]
  • Interruptible reflow 67752 [on track]
  • Keep on pluggin' on the remaining CSS 2.1 missing features (do we have a list?) [no progress, although Boris' work gets us closer to display:run-in; but this goal should probably be removed]

Video/Audio

  • Ship the current feature set in 1.9.1 with reasonable stability and performance [on track]

GFX

  • 1.9.x
    • [miss] (partial carryover) Plan and initial prototype of 3d-accelerated cairo on at least one platform
    • [miss] (partial carryover) Expose at least 3 graphics or text related features to web developers
      • e.g. OpenType features, gradients through CSS, compositing, etc.
    • [done] Significantly improve Cairo software rendering peformance for complex graphics on both x86 and ARM
    • [miss] Continue to unify text frameworks across platforms; plan for cross-platform Harfbuzz integration
  • 3D
    • [done] Public OpenGL ES for HTML spec
    • [done] Extension available for 3.1 beta (and final, if released)
    • [miss] (needs evang assistance) At least one compelling demo that takes advantage of OpenGL on the web
      • [miss] (stretch, some parts out of our control) Demonstrate 3D capabilities on mobile
  • Testing
    • [miss] Ensure adequate performance testing coverage of graphics features provided by Thebes and Gecko

Mac OS X

  • Stay on top of Gecko 1.9.1 blockers, be prepared to ship Firefox 3.1 in line with other groups.
    • [COMPLETED] Blockers hovering around 0-1 for a while now.
  • Perform basic tests on Mac OS X 10.6. File bugs on any critical issues.
    • [COMPLETED] QA and Mac OS X developers have been testing on 10.6 and filing bugs.
  • 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).
    • [COMPLETED] JS, MoreFilesX, AppleScript, cursors, and much of XPCOM have been finished.
  • Complete specification for plugin event handling which will allow plugins to not eat events they don't handle (bug 78414).
    • [COMPLETED] Specification is here.
  • For 1.9.2, replace use of (deprecated) ATSUI APIs with CoreText when running on 10.5 and later 389074.
    • [COMPLETED] Core Text backend pushed to mozilla-central

Content

  • [ON TRACK] Assist with shipping Firefox 3.1. (all)
  • [ON TRACK] Further improved DOM performance (i.e. dromaeo). (peterv)
  • [ON TRACK] Get an off-main thread HTML parser up n' running. (bnewman)
  • [ON TRACK] Actually start working on XBL2. (sicking)
  • [ON TRACK] Finish up the remainder of our Web Workers implementation (excluding shared workers), bugs 466254, 468665. (bent)
  • [ON TRACK] Investigate the feasibility of sharing out of process plugin code with Chromium. (bent, kinetik)
  • Make significant progress on HTML5 parsing. (hsivonen)
  • [ON TRACK] 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)
  • [ON TRACK] Sanitize the interaction between evalInSandbox() and various wrappers. (mrbkap)
  • [ON TRACK] Start speculatively loading images and style sheets, 457809, 457810. (mrbkap)

JS

  • ship tracer in Fx3.1 (on track)
  • recursion in the tracer (at risk)
  • ICC (finally!!!) https://bugzilla.mozilla.org/show_bug.cgi?id=472952 (building 3.2 - mac, know windows benefit) (on track)
  • ES 3.1 planned, with big progress (at risk)
  • Analysis of GC shortcomings (at risk)
  • Continued performance improvements (on track)
  • progress on inline/context threaded interpreter (using nanojit?) (step 1 = make jsop cases functions so they can be called reliably and on Windows) (at risk)
  • caching eval, run eval without re-entering the interp, trace eval (done)
  • read-only code pages (on track)
  • significantly improve OS X valgrind quality using measurements from njn's blog (on track)
  • work with intel on backend optimization (at risk)

Build System

  • Fix things so we can run tests on prepackaged builds bug 421611 (on track)
  • Squeeze some more speed out of the Windows build (on track: pymake)

Static Analysis

  • Document Treehydra and abstract interpretation (ESP) libraries. (at risk: dmandelin and graydon both head-down in tracemonkey)
  • Get a type-based call graph for Mozilla in a conveniently usable, documented form. Test it by trying out a simple interprocedural analysis (?: who was going to do this?)

Accessibility

  • Code cleanup and bug fixing are top priority.
    • [COMPLETED]
      • We made good progress here, but this will be ongoing.
      • Mochitest coverage greatly improved in this quarter.
  • Near-full WAI-ARIA 1.0 compliance (DHTML accessibility)
    • [COMPLETED]
      • We have decent compliance with the WAI-ARIA 1.0 spec. Compliance work will probably extend into Q2+, as specification is only recently in "last call".
  • Lazy instantiation for GNOME/Linux for performance.
    • [COMPLETED]
      • This involved mostly community glue work (lining up the right people) as well as backporting some GNOME FF bootstrapping.
  • Updating documentation - ARIA User Agent Implementation Guide.

(Note: Mac A11y pushed to Q2)