Platform/2012-Q1-Goals

From MozillaWiki
< Platform
Revision as of 19:03, 28 February 2012 by Dmandelin (talk | contribs) (→‎JS)
Jump to navigation Jump to search

General Goals

GFX

  • [ON TRACK] Off Main Thread Compositing - on by default on Android for OpenGL layers
    • [ON TRACK] Async scrolling on mobile
    • [ON TRACK] Cross-thread texture sharing for WebGL
  • [ON TRACK] Azure for content testing & conversion
    • [ON TRACK] Cairo backend for Azure - on by default for canvas
    • [ON TRACK] Quartz backend for Azure - on by default for canvas
    • [ON TRACK] Skia backend for Azure - possible to be turned on by default for canvas
    • [ON TRACK] Azure-Direct2D content drawing - on by default
  • [ON TRACK] Snappy related profiling and fixing
  • [ON TRACK] Async NPAPI - Bitmap (software only) mode on by default
    • [ON TRACK] Stretch goal - Hardware accelerated mode
  • [ON TRACK] CSS 3 Font Spec Implementation
  • Other important Q1 work
    • Mobile Java Compositor replacement
    • Imagelib improvements
    • Adreno debugging
    • BugKill
    • Increase number of regular contributors
    • Windows 8 Metro investigation


Layout

  • [ON TRACK] Complete Mobile Font Inflation project for Mobile World Congress
    • Code already enabled. Remaining bugs need fixes before 1/31/2012.
  • [ON TRACK] Graphite Font system
    • Code is currently in M-C but pref'd off. Q1 remaining work to pref it on.
  • [ON TRACK] Font cache performance improvements (bug 703100)
  • [ON TRACK] Complete SVG migration to DisplayList (Performance)
  • [ON TRACK] Implement CSS spec for flexbox
  • [ON TRACK] Continue View class removal (bug 337801)
  • [ON TRACK] Implement the auto value for the HTML dir attribute (bug 548206)


Video

  • [ON TRACK] Integrate libcubeb
  • [ON TRACK] Land basic MediaStreams support
  • [ON TRACK] Demoable mobile codec
  • [ON TRACK] direct pushing of video frames to compositor thread for off-main-thread-compositing


DOM

  • [ON TRACK] HTML5 parser based bookmark import
  • [ON TRACK] HTML5 parser based HTML to plain text conversion
  • [CARRY OVER] Add support for the new mutation observer proposal (to replace DOM Mutation Event support eventually)
  • [CARRY OVER] One compartment per global
  • [ON TRACK] Eliminate more uncollectable objects from the cycle collector graph
  • [ON TRACK] DOM bindings, details tbd


WebAPI

  • [CARRY OVER] Camera API!
  • [DONE] SMS landed. Might not have security model in place. Turned on for B2G
  • [CARRY OVER] Have spec for how capability management in apps will work
  • [DONE] Network API on android and one other platform
  • [CARRY OVER] Contacts API spec (spec proposal only, no implementation)
  • [ON TRACK] BrowserID implemented in Gecko
  • [ON TRACK] Note: Tentative! Media reading/storage API
  • [ON TRACK] WebApp instalation API
  • [ON TRACK] Have a security model defined.


JS

  • [DONE] Land incremental GC.
  • [CARRY OVER] Land JS stack tracing for profilers.
  • [ON TRACK] Get IonMonkey running 10 benchmarks as fast as or faster than JM+TI.
  • [ON TRACK] Redo scope chains to improve perf and IonMonkey integration [bug 659577]
  • [ON TRACK] Finish properties/elements split
  • [ON TRACK] ES6: direct proxies [bug 703537]
  • [DONE] ES6: maps and sets
  • [DONE] ES6: for-of

Accessibility

  • [ON TRACK] Get Android Firefox uttering things in mozilla-central.
  • [ON TRACK] Make the Mac version a first tier for a11y by bringing it up in par with Windows and Linux.
  • [CARRY OVER] Improve accessible tree updating [bug 690417].
  • [CARRY OVER] Canvas accessibility prototype: build accessible subtree.
  • Other important work: Priority vendor/user reported bugs, b2g/gaia, community growth, ecosystem support, telemetry, about:memory.

Perf

  • [ON TRACK] bug 662444: exit(0) "immediate" shutdown prototype and a plan to land it
  • [ON TRACK] bug 686805: Incremental decompression for libxul on Android
  • [ON TRACK] Telemetry support for addons
  • [ON TRACK] Move 2 sqlite dbs away from main thread
  • [ON TRACK] Assist necko team with new disk cache

Networking

  • [ON TRACK] Begin DASH implementation (bug 702122).
    • Jason Duell and Steve Workman will lead this.
  • [ON TRACK] Look into major disk/memory cache changes, start implementation for any major improvements we decide on.
    • Michal Novotny and Nick Hurley will lead this.
    • We're starting with locking and synchronous API issues.
  • [DONE] Make a decision about including libunbound in Necko, and finish design plans if we decide to do it.
    • Steve Workman will lead this.
    • Decision: We don't want to work on an libunbound solution in Q1, but we do want to do it. Putting it on the schedule for Q2.
  • [ON TRACK] Land further pipelining improvements.
    • Patrick McManus will lead this.
    • Basically done but we don't want to land until Firefox 14 development starts.
  • [DONE] Get significant user testing for SPDY. For example - this could mean enabling it by default in a nightly for some period of time.
    • Patrick McManus will lead this.
  • [ON TRACK] Resolve all networking security bugs that received a designation of sg:moderate or higher more than six weeks ago. This is a permanent goal for the group.
    • Brian Smith will lead this effort.


Plugins

Mobile

B2G

Research