Platform/2012-Q1-Goals < Platform
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 Fennec Beta
Code already enabled. Remaining bugs .
[CARRY OVER] Graphite Font system
Code is currently in M-C but pref'd off. Q1 remaining work to pref it on.
[ON TRACK] Invalidation via DisplayList Analysis(bug 539356 )
[DONE] Refresh driver Invalidation / Asynchronous Painting (bug 598482 )
[DONE] Font cache performance improvements (bug 703100 )
[CARRY OVER] Continue SVG migration to DisplayList (Performance)
[ON TRACK] Implement CSS spec for flexbox
[ON TRACK] Add image visibility API (bug 689623 )
[CARRY OVER] Continue View class removal (bug 337801 )
[ON TRACK] Implement the auto value for the HTML dir attribute (bug 548206 )
Video
[MISSED] Integrate libcubeb
[ON TRACK] Land basic MediaStreams support
[DONE] Demoable mobile codec
[MISSED] direct pushing of video frames to compositor thread for off-main-thread-compositing
DOM
[DONE] HTML5 parser based bookmark import
[DONE] HTML5 parser based HTML to plain text conversion
[DONE] Add support for the new mutation observer proposal (to replace DOM Mutation Event support eventually)
[MISSED] One compartment per global
95% done. Still some new issues popping up here, so we were not able to push this across the line this quarter.
[DONE] Eliminate more uncollectable objects from the cycle collector graph
[DONE] New DOM bindings codegen infrastructure in place, enabled for XHR
WebAPI
[MISSED] Camera API!
[DONE] SMS landed. Might not have security model in place. Turned on for B2G
[MISSED] Have spec for how capability management in apps will work, plus a security model defined.
Last minute issues crept up here, couldn't get this done in time.
[DONE] Network API on android and one other platform
[DONE] Contacts API spec (spec proposal only, no implementation)
[MISSED] BrowserID implemented in Gecko
The browserID side of things are still in flux, hopefully finalizing DOM API the week of 3/19, but this whole thing won't be done this quarter.
[DONE] Note: Tentative! Media reading/storage API - spec is written, no implementation yet
[DONE] WebApp instalation API
JS
[DONE] Land incremental GC.
[DROPPED] Land JS stack tracing for profilers.
[DONE] Get IonMonkey running 10 benchmarks as fast as or faster than JM+TI.
[MISSED] Redo scope chains to improve perf and IonMonkey integration [bug 659577 ]
[MISSED] Finish properties/elements split
[MISSED] ES6: direct proxies [bug 703537 ]
[DONE] ES6: maps and sets
[DONE] ES6: for-of
Accessibility
[MISSED] Get Android Firefox uttering things in mozilla-central.
[MISSED] Make the Mac version a first tier for a11y by bringing it up in par with Windows and Linux [bug 733513 ].
[DROPPED] Improve accessible tree updating [bug 690417 ].
Dropped due to new priorities.
[DONE] Canvas accessibility prototype: build accessible subtree.
Completed prototype, refactored, and landed! [bug 495912 ]. 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
[DONE] Begin DASH implementation (bug 702122 ).
Steve Workman will lead this.
Development is well under way.
[DONE] 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. Work has begun, patches are in review.
[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.
[DONE] Land further pipelining improvements.
Patrick McManus will lead this.
90%: 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.
[MISSED] 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.
90% done. We have one remaining unresolved bug at the end of the quarter, bug 660749 .
Plugins
Mobile
B2G
Research