Platform/2009-Q3-Goals

From MozillaWiki
Jump to navigation Jump to search

General Goals

  • Improve product responsiveness.
  • Process separation
  • Improve web capabilities
  • 3.5.1

GFX

  • Resolve multiprocess graphics issues.
    • Support & participate in Mozilla Electrolysis project. (joe)
    • Resolve how to accomplish hardware accelerated graphics in a multiprocess, sandboxed world. (joe)
    • (maybe) Prototype multiprocess hardware acceleration. (joe)
    • Measure and decide how font metrics caches will work in multiprocess (startup time and memory usage)
  • Continue hardware acceleration work.
    • Continue work on prototype hardware acceleration to extend it to two platforms total. (joe)
    • Above notes for hardware accelerated graphics in multiprocess & sandboxed world.
  • Improve Cairo software rendering performance. Possibly includes: (jrmuizel)
    • stroke_to_path
    • perf improvements for glyph rendering
    • image scaling performance improvements
    • other things that are slow in cairo that people need sped up (suggestions please!)
  • Improve cairo capabilities. (jrmuizel)
    • high quality downscaling
    • develop a plan to resolve image drawing/EXTEND_PAD mess
    • need Source clipping? (would improve efficiency of border-image, see current nsIImage::Extract() hack) (need some numbers...)
    • (not-likely) Supersampling to eliminate curve seams? see bug 466572
  • Font system enhancements
    • Implement prototype of OpenType font-variant extensions on Win7/Vista (nattokirai)
    • Implement support for unicode-range descriptor (nattokirai)
    • Crude implementation of SVG font support (nattokirai)
  • Image decode on demand/draw (bholley)
  • Win integration work (jimm)
    • Improvements to parental controls support (blocked content management, extension manager support).
    • Win7 specific
      • Taskbar drop lists support for Firefox and Thunderbird.
      • Support for tablet pc pen events.
      • Touch input improvements (new gesture events for touch input rather than mouse event simulations, smarter text selection logic, "big pointer" UI improvements?, smarter toggle zoom).
      • General: make sure new win7 features are covered (including tests!)

Layout

  • Keep working on CSS WG duties (dbaron, fantasai)
  • Clean up some block layout code (remove float cache, remove float continuations) (fantasai) Simplify some nasty code
  • SVG/SMIL complete enough that we enable it by default (dholbert) Web platform improvement
  • Implement SVG/SMIL bug fixes and features (birtles)
  • SVG images (roc) Web platform improvement
  • Land CSS Transitions (dbaron) Web platform improvement
  • Harfbuzz text backend prototype in tree (jfkthame) Web platform improvement, possible security and performance improvements
  • CSS rule matching performance improvements (zwol) Performance
  • Implement dead-frame exploit mitigation (zwol) Security
  • Animation control via compositor, including JS animation API (roc) Performance, Web platform improvement, front-end assistance
  • An implementation of SVG pointer-events for HTML (jwatt) Web platform improvement
  • Get some of our tests into the official SVG test suite in a reftest-like format (jwatt) Good for SVG, should help us do better in comparisons
  • Simplify GTK2 widget code (e.g. remove mozdrawingarea) (karlt) Simplify some nasty code

Video/Audio

  • Rapidly resolve any critical issues uncovered by the Firefox 3.5 release (doublec, kinetik, cpearce)
  • Improve performance in some significant way (e.g., be able to drop frames without decoding them) (doublec, kinetik, cpearce)

Mac OS X

  • Complete 64-bit Mac OS X port that runs on Mac OS X 10.6, bug 468509.
  • Complete NPAPI Cocoa event model implementation, bug 435041.
  • Be prepared for Mac OS X 10.6 on all branches.
    • Notify QA of seed releases.
    • Track any major regressions.

Content

JS

Accessibility

  • Improve the extremely interactive DHTML application experience
    • Speed up our response (lower our churn) to dom mutation (tree walking, event firing etc)
    • Make our interrogation of content and layout more sensitive
  • Complete text attribute support
    • Improve performance for large documents.
    • Expose nested/embedded accessible text attributes
  • Complete complex table and tree grid accessibility to make more web applications accessible.

Multi-Process

  • Working Flash plugin in a separate process, on Windows and Linux
  • Multiprocess tab milestones
    • Networking
    • Global history
    • link targeting and session history navigation
  • Write a line-item plan and schedule for the remaining pieces of phase 2