Platform/2010-Q1-Goals

From MozillaWiki
Jump to: navigation, search

General Goals

  • [DONE] Ship 3.6.
  • [ON TRACK] Implement security model for JetPack and eliminate platform blockers to the implementation of Jetpack panels.
  • [MISSED] Complete out of process plugins for windows and deliver a beta version of OOPP for mac.
  • 25% Ts improvement on Windows.
  • [MISSED] Kill sg:crits less than equal to 20.
  • [MISSED] Implement Layers to enable more hardware acceleration.
  • Identify and fix key performance and capability issues for developer tools.
  • [DONE] Implement crash reporting for ARM.
  • Implement crash reporting for x86_64 Linux and Mac.
  • [ON TRACK] Enable -fomit-frame-pointer optimization on x86 Linux and Mac.

GFX

  • Performance
    • [DONE] Implement the Gecko Layers API in software (Thebes) and at least one hardware implementation. We landed OpenGL layers support on March 29th.
    • [DONE] Implement full-screen, accelerated (YUV->RGB) video on top of the Gecko Layers API.
    • [DONE] Implement shared memory tile browsing, using Electrolysis, for Fennec.
    • [DONE] Improve out-of-process plugin performance.
    • [DONE] Continue to support the Electrolysis and startup time projects.
  • Font Feature Improvement
    • [MISSED] Add CSS parser support for additional OpenType-related font-variant properties
      • I guess this won't make it since AFAIK there's no patch yet. [roc]

Layout

  • [DONE] Improve the Web platform by contributing to tests and specifications by publishing the CSS2.1 test suite RC and/or identifying advanced layout specs for the future of the web.
    • fantasai, bzbarsky and dbaron all did work here. [roc]
  • [MISSED] Improve the Web platform by implementing key features and correctness fixes to enable the use of SVG animation and more CSS3 features (Backgrounds, borders, or calc(), text-overflow, etc.) in the next release.
    • dbaron was absorbed by the :visited privacy bug. We did improve SVG animation a fair bit, but overall I'd say we didn't hit this. [roc]
  • [MISSED] Improve perceived and measured performance in SVG, bidi, reflow, and CSS.
    • We fixed the big hang loading the HTML5 spec. No progress in SVG or bidi. Might still land lazy frame construction in Q1. [roc]
  • [MISSED] Complete general product improvements like Layers to enable more hardware acceleration. See Gfx for concrete layers work items and status.

Video/Audio

  • [ON TRACK] Complete removing dependencies on unnecessary third-party libraries.
  • [MISSED] Hardware-accelerated video rendering in Gecko on all platforms with suitable graphics hardware (20+fps full-screen on N900). We won't get accelerated full-screen video on N900 mainly because an OpenGL layers backend won't be ready in time to support this. However, we do have 25fps full-screen video working in our test player, with ~50% CPU utilization.

Content

  • [MISSED] Move the web forward by landing WebSockets, enabling the HTML 5 parser by default, and/or finishing more File spec API improvements (i.e., File.url).
    • [MISSED] WebSockets has r+, but needs another review. Reviews may happen, but testing infrastructure for it is unlikely to be ready
    • [MISSED] HTML 5 parser code is likely to be done, and reviewed, but testing infrastructure is lagging behind and is unlikely to be ready by the end of the quarter.
    • [DONE] File API stuff is done.
  • [MISSED] Ship out of process plugins betas for windows and continue forward progress on full Electrolysis plans by getting basic HTTP working across processes and implementing multi-proc event handling.
    • [DONE] OOPP
    • [MISSED] HTTP across processes
    • [DONE] e10s event handling
  • [MISSED] Improve performance by eliminating more cycles between JIT generated code and our DOM code, and by speeding up our DOM implementation as well. This work did get done, but due to last minute interruptions by security bug work, it didn't land. But the work is done and reviewed (bug 533637, bug 519614, bug 554432).
  • [MISSED] Investigate (and fix as needed) the impact of Firebug on Firefox performance and memory usage
    • Implement back-end functionality for allowing Firebug to hook into document load and unload to eliminate perceived performance problems with the use of Firebug.

JS

  • [DONE] Continue to improve responsiveness: GC
  • Performance
    • [MISSED] reduce performance uniformity issues (slow on some kinds of code)
    • [MISSED] SunSpider / v8 perf improvements, another 30%.
    • [MISSED] jsval 64-bit representation - this allows better perf on win64 and snow leopard.
  • Improve Web Platform with new features:
    • [DONE] byte vectors for gfx and other uses - specialized ways to ship graphics data around.
    • Begin building out tool Support
      • [MISSED] Design JSD replacement
      • [MISSED] profiling support w/ JIT active
      • [MISSED] profiling hooks from JSExecute
      • [MISSED] heap profiling API
  • [DONE] Basic inline threading system. This should be able to run almost all programs with inline threading, be at least a little faster with the tracing jit on, and be no slower with the tracing jit off.

Accessibility

  • [DONE] Drive web accessibility with HTML5 (+ARIA)
    • [DONE] address changes to WAI-ARIA specification
    • [DONE] resolve known WAI-ARIA and HTML5 conflicts
    • [DONE] participate in canvas accessibility
    • [DONE] participate in MathML and SVG accessibility
  • [DONE] Gather information from web content more safely
    • [DONE] Assist with creation of additional DOM API (reduce frame tree walking)
    • [DONE] Reorganize event code
  • [MISSED] Drive accessible editing on the web
    • [MISSED] Get agreement on editor keyboard behavior.

Multi-Process

  • [ON TRACK] Release multiple betas of multi-process plugins (Windows/Linux)
    • [MISSED] stretch goal: release multi-process plugins
  • [MISSED] Release a beta of multi-process Flash (mac)
  • [MISSED] Make Fennec + Multi-Process fully functional (ready to measure and tune performance)
  • [DONE] Integrate Multi-Process/Thread architecture into JetPack (super-basic prototype, all that was expected this quarter)