Platform/2012-Q1-Goals: Difference between revisions
< Platform
Jump to navigation
Jump to search
(→JS) |
|||
| (25 intermediate revisions by 8 users not shown) | |||
| Line 27: | Line 27: | ||
=== Layout === | === Layout === | ||
<onlyinclude> | <onlyinclude> | ||
* {{ok|Complete Mobile Font Inflation project for | * {{ok|Complete Mobile Font Inflation project for Fennec Beta}} | ||
** Code already enabled. Remaining [https://bugzilla.mozilla.org/buglist.cgi?list_id=1931659&resolution=---&resolution=DUPLICATE&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=readability bugs] | ** Code already enabled. Remaining [https://bugzilla.mozilla.org/buglist.cgi?list_id=1931659&resolution=---&resolution=DUPLICATE&status_whiteboard_type=allwordssubstr&query_format=advanced&status_whiteboard=readability bugs]. | ||
* {{prev|Graphite Font system}} | * {{prev|Graphite Font system}} | ||
** Code is currently in M-C but pref'd off. Q1 remaining work to pref it on. | ** Code is currently in M-C but pref'd off. Q1 remaining work to pref it on. | ||
* {{ok|Invalidation via DisplayList Analysis({{bug|539356}})}} | |||
* {{done|Refresh driver Invalidation / Asynchronous Painting ({{bug|598482}})}} | |||
* {{done|Font cache performance improvements ({{bug|703100}})}} | * {{done|Font cache performance improvements ({{bug|703100}})}} | ||
* {{prev|Continue SVG migration to DisplayList (Performance)}} | * {{prev|Continue SVG migration to DisplayList (Performance)}} | ||
| Line 41: | Line 43: | ||
=== Video === | === Video === | ||
<onlyinclude> | <onlyinclude> | ||
* {{ | * {{miss|Integrate libcubeb}} | ||
* {{ok|Land basic MediaStreams support}} | * {{ok|Land basic MediaStreams support}} | ||
* {{ | * {{done|Demoable mobile codec}} | ||
* {{ | * {{miss|direct pushing of video frames to compositor thread for off-main-thread-compositing}} | ||
</onlyinclude> | </onlyinclude> | ||
=== DOM === | === DOM === | ||
<onlyinclude> | <onlyinclude> | ||
* {{ | * {{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)}} | ||
* {{ | * {{miss|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|Eliminate more uncollectable objects from the cycle collector graph}} | ||
* {{ | * {{done|New DOM bindings codegen infrastructure in place, enabled for XHR}} | ||
</onlyinclude> | </onlyinclude> | ||
=== WebAPI === | === WebAPI === | ||
<onlyinclude> | <onlyinclude> | ||
* {{ | * {{miss|Camera API!}} | ||
* {{done|SMS landed. Might not have security model in place. Turned on for B2G}} | * {{done|SMS landed. Might not have security model in place. Turned on for B2G}} | ||
* {{ | * {{miss|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|Network API on android and one other platform}} | ||
* {{done|Contacts API spec (spec proposal only, no implementation)}} | * {{done|Contacts API spec (spec proposal only, no implementation)}} | ||
* {{ | * {{miss|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|Note: Tentative! Media reading/storage API}} - spec is written, no implementation yet | ||
* {{done|WebApp instalation API}} | * {{done|WebApp instalation API}} | ||
</onlyinclude> | </onlyinclude> | ||
| Line 73: | Line 77: | ||
*{{done|Land incremental GC.}} | *{{done|Land incremental GC.}} | ||
*{{ | *{{drop|Land JS stack tracing for profilers.}} | ||
*{{ | *{{done|Get IonMonkey running 10 benchmarks as fast as or faster than JM+TI.}} | ||
*{{ | *{{miss|Redo scope chains to improve perf and IonMonkey integration [{{bug|659577}}]}} | ||
*{{ | *{{miss|Finish properties/elements split}} | ||
*{{ | *{{miss|ES6: direct proxies}} [{{bug|703537}}] | ||
*{{done|ES6: maps and sets}} | *{{done|ES6: maps and sets}} | ||
*{{done|ES6: for-of}} | *{{done|ES6: for-of}} | ||
| Line 83: | Line 87: | ||
=== Accessibility === | === Accessibility === | ||
<onlyinclude> | <onlyinclude> | ||
* {{ | * {{miss| Get Android Firefox uttering things in mozilla-central.}} | ||
* {{ | ** Good progress. | ||
* {{ | * {{miss| Make the Mac version a first tier for a11y by bringing it up in par with Windows and Linux [{{bug|733513}}].}} | ||
** Good progress. | |||
* {{drop| Improve accessible tree updating [{{bug|690417}}].}} | |||
** Dropped due to new priorities. | |||
* {{done| Canvas accessibility prototype: build accessible subtree.}} | * {{done| Canvas accessibility prototype: build accessible subtree.}} | ||
** Completed prototype, refactored, and landed! [{{bug|495912}}]. | ** Completed prototype, refactored, and landed! [{{bug|495912}}]. | ||
| Line 109: | Line 116: | ||
** Steve Workman will lead this. | ** 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. | ** 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. | ** Patrick McManus will lead this. | ||
** 90%: Basically done but we don't want to land until Firefox 14 development starts. | ** 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.}} | * {{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. | ** Patrick McManus will lead this. | ||
* {{ | * {{miss|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. | ** Brian Smith will lead this effort. | ||
** | ** 90% done. We have one remaining unresolved bug at the end of the quarter, {{bug|660749}}. | ||
</onlyinclude> | </onlyinclude> | ||
Latest revision as of 16:53, 25 April 2012
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
- Complete bug 651693
- 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.
- Good progress.
- [MISSED] Make the Mac version a first tier for a11y by bringing it up in par with Windows and Linux [bug 733513].
- Good progress.
- [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.