Platform/2012-Q2-Goals
From MozillaWiki
< Platform
Contents
General Goals
GFX
- [ON TRACK] complete and ship OMTC for native fennec on android
- [DONE] Azure turned on for content on Windows with Direct2D, on mozilla-central
- [AT RISK] Use Skia for canvas drawing on non-accelerated Windows computers
- [ON TRACK] Off main thread video display
- [AT RISK] CSS3 font spec implementation
- Complete bug 651693
- [ON TRACK] Double buffer WebGL
- Other important Q2 work
- B2G work as required
- Moving other pieces of work off the main thread
- BugKill
- Increase number of regular contributors
Layout
- [DONE] Ship Mobile Font Inflation project on Fennec Beta & Release
- [CARRY OVER] Complete Graphite Fonts Project
- Enable by default and release publicly
- [CARRY OVER] Invalidation via DisplayList Analysis(bug 539356)
- [DONE] SVG migration to DisplayList (Performance)
- [CARRY OVER] Implement CSS spec for vertical flexbox
- horizontal flexbox done in early Q2
- [CARRY OVER] Add image visibility API (bug 689623)
- [CARRY OVER] Continue View class removal (bug 337801)
- [CARRY OVER] Implement the auto value for the HTML dir attribute (bug 548206)
- [DEFERRED] Begin CSS Grid Implementation
- [CARRY OVER] Begin CSS Vertical Text Implementation
- [CARRY OVER] Begin CSS Pagination
- CSS2.1 bugs (need list)
- CSS2.1 features (need list)
- [CARRY OVER] CSS 2.1 Test Suite v.2
- CSS Spec, Unprefixing & Testing
- [DONE] Gradients
- [DONE] Transforms
- [DONE] Transitions
- [DONE] Animations
- [CARRY OVER] MultiCol
- [CARRY OVER] Conditional Rules
- [CARRY OVER] Support for Complex Scripts on Mobile
- Example bugs: bug 619521,bug 619524,bug 676068,bug 631159
Video
- [DONE] Land Platform Decoder support for B2G in mozilla-central
- [DONE] Land the backend (platform) code for the B2G Camera App and for B2G Camera API still image support (both based on getUserMedia, using core MediaStreams infrastructure) in mozilla-central in time for Firefox 15
- [DONE] Land Camera API still image support for Android in mozilla-central for Firefox 15
- [DONE] Land Opus support (in <audio>, preffed off) in mozilla-central
- [DEFERRED]
Land Platform Decoder [formerly referred to as MPAPI] support for Android in mozilla-centralMoved this goal to Q3 to help B2G/basecamp - [DEFERRED]
Resolve our non-free codec position on desktopPushed this goal to later because this discussion is potentially a massive distraction to critical path people for basecamp/B2G
DOM
- [AT RISK] 742822: Combine IndexedDB/LocalStorage quotas to allow indexeddb to remove prompt.
- [DONE] New DOM bindings in place for CanvasContext
- [MISSED] New DOM bindings in place for CSS2Properties
- This work is all done, but not in time to get reviews done in time (from the layout team)
- removed: HTML5 menu implementation, or something like it
- Not a priority for basecamp
- [DONE] DOM bindings for the native BrowserID API implementation
- In the end we didn't end up needing to do any actual work here due to an API change and our existing navigator extension mechanism being able to do everything the BrowserID team needed
- [DONE] Compartment per global
- [DONE] Reduce CC pauses significantly when there are cycles to collect
- [DONE] Review Shadow DOM and decide what to do with it and the rest of the Webcomponents proposal.
WebAPI
- [DONE] Security model
- Model design completed, implementation pending in Q3
- [DONE] Device Storage API
- [DONE] Idle API
- [DONE] Unprefix IndexedDB [bug 726378]
- [DONE] Screen Orientation
- [DONE] Appcache (depends on how much help we'll get on IndexedDB)
- We did what's needed for B2G and the initial release for WebApps support here. Much more work to do once we work out what the right thing to do is, in many coming quarters...
- [DONE] Spec API for WebTelephony conference calls (not implemented) [bug 768925]
- Template:Partial
- We got basic multiprocess for IDB, but still don't have multiprocess blobs working in IDB.
- [DONE] Proximity/AmbientLight Sensors
- [DONE] B2G WebActivities spec (not implemented) (WebActivities, effectively same as WebIntents)
- removed: String encoding/decoding
- Not a priority for basecamp
JS
- [DONE] Pref on incremental GC--requires fixing a Tinderbox shutdown leak and tuning.
- [MISSED] Incremental sweeping.
- [DONE] Avoid recompilation pauses on GC.
- [MISSED] Land IonMonkey.
- [DONE] Finish current round of typed arrays enhancements.
- [DONE] Redo scope chains to improve perf and IonMonkey integration [bug 659577]
- [MISSED] Finish properties/elements split
- [MISSED] ES6: direct proxies [bug 703537]
- [DONE] Fix bugs required for script debugger support (part of K9O).
Accessibility
- [MISSED] Increase performance by 30% for Speech Recognition use cases.
- [DONE] Have usable mozbase platform automated tests.
- [DONE] Get Android a11y into a release channel.
- [DEFERRED] Have a working prototype of a B2G screen reader.
- [DONE] Have an alpha version of a mobile gesture addon.
- [MISSED] Bring OSX Firefox a11y on par with Win/Linux
- other: canvas bounds work?, UIA?, open a11y alliance, ARIA conformance...
Perf
- [MISSED] 736144: Async local storage via blocking pageload
- [DONE] 580408: Integrate newer jemalloc.
- [MISSED] 563742: provide js file api (in workers) for all supported platforms.
- [MISSED] 662397: Reorder xul.dll on windows to speed up startup
- Important: support incremental decompression on mobile, figure out if we can do 1s startup on android, 662444 continue exit(0) progress
- [MISSED] 661881: Bundle about-telemetry extension to ship with Firefox
- [DONE] 701872: Diagnose sources of super-slow Firefox startups
- [DONE] 725821: Investigate switching to sqlite FTS to speed up AwesomeBar searches
- [MISSED] Prevent, to a reasonable extent, background tabs from starving the main thread
Networking
- [MISSED] 723577, 723582, 722033, 722034: Resolve listed high priority cache locking/async issues.
- Nick Hurley and Michal Novotny will lead this effort.
- [DONE] 737470: Implement and land SPDY v3.
- Patrick McManus will lead this effort.
- [DONE] 735242 Fix bug in which Firefox can display conflicting network states.
- Patrick McManus will lead this effort.
- The bug isn't fixed but neither Josh nor Patrick can reproduce any more so there is nothing to do.
- [DONE] Get Stone Ridge testing up and running. Should be running at least one test daily against multiple NeckoNet profiles and reporting results publicly.
- Nick Hurley will lead this effort.
- The graph server is not public yet but that is outside of our control. As soon as it is done our results will be public.
- [DONE] Be able to show working demo of HTML5 video consumption via DASH, even if whole specification is not implemented.
- Steve Workman will lead this effort.
- [DONE] Improve WebSockets support.
- 748766: Fix bug in which we have a limit of 196 WebSockets connections.
- 713023, 713026: Improve support for Websockets when using HTTP proxy server.
- 695636, 711793, 712191: Various other WebSockets fixes.
- Jason Duell will lead this effort.
- Due to changing priorities we swapped out bug 704447 for bug 748766.
- [MISSED] Get automated NSS tests related to Firefox ready for deployment to Mozilla test infrastructure on tier-1 platforms.
- Brian Smith will lead this effort.
- We were simply unable to prioritize this over other work. Brian ended up helping with a lot of disk cache work (responsiveness goals + security).
- [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.
Plugins
Mobile
- [DONE] Ship 1.0 of Mobile Firefox
- [DONE] competitive panning and zooming
- [DONE] competitive start up performance
- [DONE] WebRT:Phase 1 support
- [DEFERRED] Remote debugging support
- [DONE] Flash support
- [DONE] Performant WebGL support
- [DONE] Competitive canvas perf
- [DEFERRED] Enable safe browsing
- [DONE] Import Bookmarks & History from Android DBs
- [DONE] Nightly builds for ARMv6
- [DONE] Proper support for position-fixed
- [DEFERRED] Investigate supporting multiple profiles