Platform/2010-Q3-Goals

From MozillaWiki
Jump to: navigation, search

General Goals

  • [DONE] Javascript performance near or even with Chrome 5 on their benchmarks (within 20% on SS, 30% on V8), with substantial wins on our benchmarks. (Windows, in-browser.)
  • [DONE] Hardware acceleration of video and other HTML and SVG content, as well as user interface, on by default for compatible hardware on all Tier-1 desktop and mobile platforms.
  • [DONE] Fully support the WebGL 1.0 spec, with support turned on by default in a Firefox 4 beta on platforms that support OpenGL or OpenGL ES.
  • [MISSED] security: zero reproducible high/crit > 30 days
  • [DONE] Support multi-process Fennec.
  • [DONE] Support Jetpacks running in separate processes and never blocking the Fennec UI. NOTE: jetpack team hasn't actually integrated this code yet, but it works in small test environments.


GFX

  • [MISSED] Accelerate Firefox's in-content video and other content primitives by shipping, in a Firefox 4 beta, layers acceleration for the full Firefox window, on by default for compatible hardware on all tier-1 platforms:
    • [DONE] Windows: based on Direct3D 9 - Note: we did not ship beta 7 in this quarter (was ready at the beginning of September), but marking as hit,
    • [DONE] Mac: based on OpenGL - Note: we did not ship beta 7 in this quarter (was ready late September),
    • [DROPPED] Linux: based on OpenGL - explicitly dropped because of driver issues,
    • [MISSED] Mobile: based on and OpenGL ES - because the work wasn't done.
  • [DONE] Accelerate all drawing on Windows Vista and Windows 7, on compatible hardware, by shipping the Direct2D Cairo backend in a Firefox 4 beta.
  • [MISSED] Enhance our OpenType font feature support by shipping Harfbuzz on by default in a Firefox 4 beta on all Tier-1 platforms, with text rendering performance equal to or better than Firefox 3.6.
    • [DONE] Mac OS,
    • [DONE] Windows - Note: we did not ship beta 7 in this quarter (was ready at the beginning of September),
    • [MISSED] Linux - Some work is done but it won't be ready by end of quarter.
  • [MISSED] Fully support the WebGL 1.0 spec, with support turned on by default in a Firefox 4 beta on platforms that support OpenGL or OpenGL ES.
    • [MISSED] Stretch goal: Also support WebGL on Direct3D via ANGLE.

Layout

  • [DONE] Land CSS3 calc()
  • [DONE] Finish and land CSS Transitions
  • [DONE] Land retained layers
  • [DONE] Land content/chrome rendering integration (bug 130078)
  • [DONE] Land CSS control of lowlevel font features

Video/Audio

  • [DONE] Support 'buffered' attribute for all media types
  • [ON TRACK] Set up performance test harness to track frame rates and other metrics (WIP; contact Chris Double to check status at end of Q3)
  • [ON TRACK] Contribute activity masking to VP8 encoder (WIP; contact Tim Terriberry to check status at end of Q3)

Content

  • [MISSED] Produce clear plans for accelerated windowless plugin rending on Windows and Linux (including mobile).
  • [DONE] Be prepared to ship OOPP for Mac OS X.
  • [MISSED] Eliminate enablePrivilege() ("UniversalXPConnect" etc).
  • [MISSED] Close the performance gap between Firefox and Chrome on the "Click Preferences *" tests in the Zimbra performance test harness, 30+% speedup from end of Q2.
  • [MISSED] Finish up indexGetter/Setter work for faster list[n] access in JS
  • [DONE] Solidify a long term plan for the future of our DOM bindings (i.e. keep hacking on XPConnect or move over to proxies)

Privacy

  • [DROPPED] Improve user privacy by reducing the ability of sites to fingerprint individual users, and improve user control and privacy of cookies.

JS

  • Performance goals for reference system: Dell Optiplex 760 (Intel Core2 Duo) Windows Vista. Baseline: Chrome 5.0.375.55.
    • [ON TRACK] SunSpider: 300-375ms.
    • [AT RISK] V8 Score: 3500-5000.
    • [DONE] JSNES: 60fps.

Accessibility

  • [MISSED] Provide accessibility support for existing and new HTML5 input controls. [some progress, but we won't finish this q]
  • [DONE] Reduce the a11y performance hit by at least 50% for tools that require only limited accessibility support. [for all tools]
  • [MISSED] Improve/fix life cycle management of our (node and frame based) accessible objects. [only partial improvement]

Multi-Process