Platform/2009-Q2-Goals: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(general goal is `pymake better`... reflect that)
Line 18: Line 18:
* Performance, bugfixing, unblocking GL rendering: Implement hoisting of plugin widgets to the top level, and removal of most existing content widgets (roc)
* Performance, bugfixing, unblocking GL rendering: Implement hoisting of plugin widgets to the top level, and removal of most existing content widgets (roc)


Not sure about these ones:
Not sure about this one:
* Fix at least 2 user-facing GTK widget issues (karlt) [roc: too low level, we can just drop it]
* Have a reasonable solution to {{bug|453827}}. [roc: too small and detailed I think, probably just drop it]
* jwatt to get into the SMIL code (not sure what reasonable goals are yet) [probably just drop this]
* jwatt to get into the SMIL code (not sure what reasonable goals are yet) [probably just drop this]



Revision as of 21:45, 30 March 2009

General Goals

  • Ship 1.9.1
  • Planning for 1.9.2 completed with clear work items prioritized and resources named.

XPCOM+XPConnect

Layout

  • Code improvement: Land major SVG cleanup (bug 435356 and others) (jwatt)
  • Security: 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)
  • Improving the Web platform: Publish draft of flexible box model spec (dbaron)
  • Improving the Web platform: propose draft spec for font feature support in CSS (jdaggett, jfkthame)
  • Improving the Web platform: Some functioning pieces of backend for web-developer-facing/user-facing memory tools (dbaron; not really Layout)
  • Improving the Web platform and being competitive with other browsers: Significant progress on CSS Transitions implementation (dbaron) [roc: can we be more specific, like "working CSS Transitions demo"?]
  • Performance, bugfixing, unblocking GL rendering: Implement hoisting of plugin widgets to the top level, and removal of most existing content widgets (roc)

Not sure about this one:

  • jwatt to get into the SMIL code (not sure what reasonable goals are yet) [probably just drop this]

Video/Audio

  • Implement some significant remaining HTML5 video API features (e.g., 'poster' attribute, cue ranges, 'loop' attribute) (cpearce, doublec, kinetik)

GFX

  • get Harfbuzz into the tree bug 449292
  • handle large font families (>4 styles) on Windows properly bug 454514

Mac OS X

  • Implement the Cocoa NPAPI event model.
  • Port at least one more major component to 64-bit Mac OS X (e.g. XPCOM, printing, plugins, GFX/fonts).
  • Continue Mac OS X 10.6 seed testing and track any major regressions.

Content

(work in progress, lots still TBD)

  • Have an IPC mechanism in place for out of process plugins.
  • XBL2 attachment, detachment, and initial rendering of the shadow tree.
  • Off main thread HTML parsing (details TBD)
  • HTML5 (detail TBD)
  • Off main thread network IO (details TBD)

JS

  • trace recursion
  • improved ARM performance
  • cleaner, safer code -> moving from jschar* buffers to c++ vectors, f.e.
  • nanojit compilation speed improvements
  • GC scalability improvements
  • ES 3.1 major features in testing, including Object.defineProperty et al, strict mode
  • improve interpreter performance

Build System

  • Complete at least two pymake improvements:
    • Be able to build on all tier-1 platforms with a stock mozilla-central and the pymake checked into m-c
    • Improve performance of pymake on Linux/OS X. Not aiming for 100% of gmake's speed, but at least a factor faster than the current 5x slower. Possibly use mx.TextTools for parsing.
    • Implement Python native commands in pymake, and use them in the build system for at least `rm` and `nsinstall`

Static Analysis

  • Have treehydra work with an unpatched GCC: Port Treehydra to the official plugin GCC API, land required GCC changes on a gcc trunk/branch

Accessibility

(under construction -- looks like too much for 1 quarter)

  • Fix text support of AT APIs
    • Expand tests for nsIAccessibleText and fix bugs as discovered. This will have high impact on the screen reader user experience.
    • ATK text offsets gnome-551489 dependency on GNOME involvement.
  • ARIA 1.0 compliance:
    • Fix fix live region updates that leak through from currently invisible tab panels bug 444644
    • Aim for 90% resolution of tracker bug 343213
    • Seek resolution for mutation RFE bug 467144 directly or through something like W3C issue. Dependency on agreement with other user agent devs.
  • Accessible Table refactor
    • Design accessible table implementation (nsIAccessibleTable?)
    • bug 386813
  • Tree grid and grid support:
    • bug 367905
    • Implement row accessibles for html:tr elements so they're always created, and test with ATs to see what impact it has.
    • provide suggested specification for: aria tables: level, size, posinset VS own (and what if on html table elements) [aapi]
  • Mac Accessibility Performance
  • ARIA action improvements
    • multiple action support (possibly bit flags)
    • nsIAccessibleAction?