Platform/2010-Q3-Goals: Difference between revisions

 
(31 intermediate revisions by 9 users not shown)
Line 1: Line 1:
=== General Goals ===
=== General Goals ===
* {{ok|Javascript performance near or even with Chrome on their benchmarks (within 10% on SS, 30% on V8), with substantial wins on our benchmarks.}}
<onlyinclude>
* {{ok|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|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.)}}
* {{ok|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. }}
* {{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.}}
* {{ok|security: zero reproducible high/crit > 30 days}}
* {{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. }}
* {{ok|Support multi-process Fennec.}}
* {{miss|security: zero reproducible high/crit > 30 days}}
* {{ok|Support Jetpacks running in separate processes and never blocking the Fennec UI.}}
* {{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.'''
</onlyinclude>


=== GFX ===
=== GFX ===


* 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, based on Direct3D 9, OpenGL, and OpenGL ES.
* {{miss|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:}}
* Accelerate all drawing on Windows Vista and Windows 7, on compatible hardware, by shipping the Direct2D Cairo backend in a Firefox 4 beta.
** {{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,
* 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: based on OpenGL}} - Note: we did not ship beta 7 in this quarter (was ready late September),
* 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.
** {{drop|Linux: based on OpenGL}} - explicitly dropped because of driver issues,
** Stretch goal: Also support WebGL on Direct3D via ANGLE.
** {{miss|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.}}
* {{miss|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),
** {{miss|Linux}} - Some work is done but it won't be ready by end of quarter.
* {{miss|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.}}
** {{miss|Stretch goal: Also support WebGL on Direct3D via ANGLE.}}


=== Layout ===
=== Layout ===


* Land CSS3 calc()
* {{done|Land CSS3 calc()}}
* Finish and land CSS Transitions
* {{done|Finish and land CSS Transitions}}
* Land retained layers
* {{done|Land retained layers}}
* Land content/chrome rendering integration (bug 130078)
* {{done|Land content/chrome rendering integration (bug 130078)}}
* Land CSS control of lowlevel font features
* {{done|Land CSS control of lowlevel font features}}


=== Video/Audio ===
=== Video/Audio ===


* Support 'buffered' attribute for all media types
* {{done|Support 'buffered' attribute for all media types}}
* Ship WebM with performance and stability equal or better than Flash on Youtube
* {{ok|Set up performance test harness to track frame rates and other metrics}} (WIP; contact Chris Double to check status at end of Q3)
* Contribute activity masking to VP8 encoder
* {{ok|Contribute activity masking to VP8 encoder}} (WIP; contact Tim Terriberry to check status at end of Q3)


=== Content ===
=== Content ===


* {{ok|Produce clear plans for accelerated windowless plugin rending on Windows and Linux (including mobile).}}
* {{miss|Produce clear plans for accelerated windowless plugin rending on Windows and Linux (including mobile).}}
* {{ok|Be prepared to ship OOPP for Mac OS X.}}
* {{done|Be prepared to ship OOPP for Mac OS X.}}
* {{ok|Eliminate enablePrivilege() ("UniversalXPConnect" etc).}}
* {{miss|Eliminate enablePrivilege() ("UniversalXPConnect" etc).}}
* {{ok|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.}}
* {{miss|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.}}
* {{ok|Finish up indexGetter/Setter work for faster list[n] access in JS}}
* {{miss|Finish up indexGetter/Setter work for faster list[n] access in JS}}
* {{ok|Solidify a long term plan for the future of our DOM bindings (i.e. keep hacking on XPConnect or move over to proxies)}}
* {{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 ===
=== Privacy ===


* {{ok|Improve user privacy by reducing the ability of sites to fingerprint individual users, and improve user control and privacy of cookies.}}
* {{drop|Improve user privacy by reducing the ability of sites to fingerprint individual users, and improve user control and privacy of cookies.}}


=== JS ===
=== JS ===
Line 46: Line 55:
* Performance goals for reference system: Dell Optiplex 760 (Intel Core2 Duo) Windows Vista. Baseline: Chrome 5.0.375.55.
* Performance goals for reference system: Dell Optiplex 760 (Intel Core2 Duo) Windows Vista. Baseline: Chrome 5.0.375.55.
** {{ok|SunSpider: 300-375ms.}}
** {{ok|SunSpider: 300-375ms.}}
** {{ok|V8 Score:  3500-5000.}}
** {{risk|V8 Score:  3500-5000.}}
** {{ok|JSNES:    60fps.}}
** {{done|JSNES:    60fps.}}


=== Accessibility ===
=== Accessibility ===


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


=== Multi-Process ===
=== Multi-Process ===
* {{ok|This is a shiny goal.}}

Latest revision as of 18:45, 7 October 2010

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