Platform/2011-Q4-Goals: Difference between revisions

 
(23 intermediate revisions by 10 users not shown)
Line 12: Line 12:
** Finish Direct3D 10/Direct2D, Direct3D 9, Mac OS X OpenGL layers implementation
** Finish Direct3D 10/Direct2D, Direct3D 9, Mac OS X OpenGL layers implementation
** For non-sandboxed processes only
** For non-sandboxed processes only
* {{ok|Thebes wrapper for Azure}}
* {{done|Thebes wrapper for Azure}}
** Land on mozilla-central
** Land on mozilla-central
* {{ok|Skia backend for Azure}}
* {{done|Skia backend for Azure}}
** Landed and able to be turned on for canvas
** Landed and able to be turned on for canvas
** Demoable for general content (not just canvas) - not necessarily demoable from mozilla-central
** Demoable for general content (not just canvas) - not necessarily demoable from mozilla-central
Line 20: Line 20:
** On OSes where it's supported, enable cross-process WebGL by sharing textures between content and chrome processes
** On OSes where it's supported, enable cross-process WebGL by sharing textures between content and chrome processes
* Other important Q4 work
* Other important Q4 work
** Finish cross-process Linux OpenGL layers implementation (on desktop)
** {{drop|Finish cross-process Linux OpenGL layers implementation (on desktop)}}
** Azure - Cairo backend
** Azure - Cairo backend
*** Possibly only on graphics branch
*** Possibly only on graphics branch
Line 26: Line 26:
** Imagelib work on memory usage and efficiency
** Imagelib work on memory usage and efficiency
** Windows 7 font rendering survey via Test Pilot
** Windows 7 font rendering survey via Test Pilot
** [done] Multiple GPU support on Mac OS X
** {{done|Multiple GPU support on Mac OS X}}
** WebGL improvements
** WebGL improvements
*** [done] Anti-aliasing
*** {{done|Anti-aliasing}}
*** ARB_robustness / EGL_LOST_CONTEXT
*** {{done|ARB_robustness / EGL_LOST_CONTEXT}}
*** Auditing remaining failing conformance tests
*** Auditing remaining failing conformance tests
</onlyinclude>
</onlyinclude>
Line 35: Line 35:
=== Layout ===
=== Layout ===
<onlyinclude>
<onlyinclude>
* {{ok|Complete Mobile Readability project (Phase 1 & make decision on Phase 2)}}
* {{done|Complete Mobile Readability project (Phase 1 [http://dbaron.org/log/20111126-font-inflation landed].)}}
** part 1 [http://dbaron.org/log/20111126-font-inflation landed] but still needs tuning based on feedback and also [https://bugzilla.mozilla.org/show_bug.cgi?id=703029 UI]
* {{miss|Diagnostic tools for text and font memory usage in about:memory}}
* {{ok|Diagnostic tools for text and font memory usage in about:memory}}
* {{done|Graphite Font Layout system implemented and landed pref'd off }}
** Code is implemented and needs code review
* {{ok|Graphite Font Layout system}}
** Code is implemented and will land pref'd off
* {{ok|Multi-column Compliance (de-prefixing)}}
* {{ok|Multi-column Compliance (de-prefixing)}}
** Implementation of [https://bugzilla.mozilla.org/show_bug.cgi?id=695222 column-fill] property needs to be finished and landed.
** Implementation of [https://bugzilla.mozilla.org/show_bug.cgi?id=695222 column-fill] property needs to be finished and landed.
** [https://bugzilla.mozilla.org/show_bug.cgi?id=698783 De-prefixing] of all current column implementation, except column-span, needs to be finished and landed.
** [https://bugzilla.mozilla.org/show_bug.cgi?id=698783 De-prefixing] of all current column implementation, except column-span, needs to be finished and landed.
** Implementation of [https://bugzilla.mozilla.org/show_bug.cgi?id=616436 column-span] property has been moved to Q1 2012.
** Implementation of [https://bugzilla.mozilla.org/show_bug.cgi?id=616436 column-span] property has been moved to Q1 2012.
* {{risk|Complete SVG migration to DisplayList (Performance)}}
* {{miss|Complete SVG migration to DisplayList (Performance)}}
** We de-prioritized SVG work in Q4 to fix other bugs
** We de-prioritized SVG work in Q4 to fix other bugs
* {{risk|Implement CSS spec for flex-box}}
* {{miss|Implement CSS spec for flexbox}}
** CSS flexbox spec is still in working draft. New ETA for this feature: Q1 2012
** CSS flexbox spec is still in working draft & undergoing significant changes. New ETA for this feature: Q1 2012
* {{ok|Selection bit - Move from Layout to Content - Mutation events update DOM (619273)}}
* {{done|Selection bit - Move from Layout to Content - Mutation events update DOM (619273)}}
* {{ok|Complete View class removal (bug 337801)}}
* {{done| View class removal from Decks/XUL done. (bug 655263)}}
** part 1 (View removal from Decks/XUL) done. (bug 655263)
* {{drop|Page Break Support}}
* {{risk|Page Break Support}}
** We de-prioritized Page Break in Q4 to work on other specs
** We de-prioritized Page Break in Q4 to work on other specs
* {{risk|CSS Ruby on mozilla-central}}
* {{drop|CSS Ruby on mozilla-central}}
** not currently assigned
** not currently assigned
</onlyinclude>
</onlyinclude>
Line 61: Line 57:


<onlyinclude>
<onlyinclude>
* {{ok|MediaStream infrastructure landed on mozilla-central with Worker-based processing enabled and some media element integration}}
* {{miss|MediaStream infrastructure landed on mozilla-central with Worker-based processing enabled and some media element integration}}
* {{ok|libcubeb sound library replacing libsydneyaudio on mozilla-central}}
* {{miss|libcubeb sound library replacing libsydneyaudio on mozilla-central}}
* {{ok|fullscreen API enabled on mozilla-central}}
* {{done|fullscreen API enabled on mozilla-central}}
* {{ok|direct pushing of video frames to compositor thread for e10s}}
* {{miss|direct pushing of video frames to compositor thread for e10s}}
* {{ok|eliminate unnecessary copy with video decoder API changes}}
* {{miss|eliminate unnecessary copy with video decoder API changes}}
</onlyinclude>
</onlyinclude>


=== DOM ===
=== DOM ===
<onlyinclude>
<onlyinclude>
* {{ok|Close the gap between what can be expressed in WebIDL and what our IDL tooling supports}}
* {{miss|Close the gap between what can be expressed in WebIDL and what our IDL tooling supports}}
** Good progress made here, but we missed this goal for two reasons:
*** The spec changed last minute
*** This turned into a bigger task than originally believed
* {{done|Make cycles involving weak maps and the DOM not leak}}
* {{done|Make cycles involving weak maps and the DOM not leak}}
* {{miss|JS Compartment per global (carryover from last quarter, this may not be hittable due to timing of blocking bugs)}} -- <i>missed due to timing of blocking bugs</i>
* {{miss|JS Compartment per global (carryover from last quarter, this may not be hittable due to timing of blocking bugs)}}
* {{miss|Have a real plan for what the new DOM bindings will look like}} -- <i>at risk due to resource availability.</i>
** Missed due to timing of blocking bugs
* {{miss|Have a real plan for what the new DOM bindings will look like}}
** Missed due to resource availability.
* {{done|Review and land View Source rewrite}}
* {{done|Review and land View Source rewrite}}
* {{ok|Add support for the new mutation observer proposal (to replace DOM Mutation Event support eventually)}}
* {{miss|Add support for the new mutation observer proposal (to replace DOM Mutation Event support eventually)}}
* {{ok|Add support for (callable) event constructors}}
** Missed due to cycle collection time fixing was deemed more important (snappy)
* {{done|Add support for (callable) event constructors}}
</onlyinclude>
</onlyinclude>


Line 83: Line 85:
<onlyinclude>
<onlyinclude>
* {{miss|Camera support landed (and maybe turned on)}}
* {{miss|Camera support landed (and maybe turned on)}}
** Missed due to WebAPPs work being prioritized over this, and also due to lack of windows build system at the time this work was being done
* {{miss|Basic camera in-page UI implemented. Not CSS configurable yet}}
* {{miss|Basic camera in-page UI implemented. Not CSS configurable yet}}
* {{ok|SMS landed. Might not have security model in place. Turned on for B2G}}
** Missed due to WebAPPs work being prioritized over this, and also due to lack of windows build system at the time this work was being done
* {{miss|SMS landed. Might not have security model in place. Turned on for B2G}}
** Patch ready and reviewed, but the native mobile frontend threw a wrench in the wheel for landing this in time
* {{done|DOM-side of telephony done. Nothing turned on as we'll be missing radio part}}
* {{done|DOM-side of telephony done. Nothing turned on as we'll be missing radio part}}
* {{ok|IndexedDB fully up to spec (including version API change, delete database, and arrays as keys, the last of which might be a stretch)}}
* {{done|IndexedDB fully up to spec (including version API change, delete database, and arrays as keys, the last of which might be a stretch)}}
* {{done|File support in IndexedDB}}
* {{done|File support in IndexedDB}}
* {{risk|Have spec for how capability management in apps will work}}
* {{miss|Have spec for how capability management in apps will work}}
* {{ok|Battery and Network API on android and one other platform}}
** Missed in favor of finishing up the IndexedDB stretch goal
* {{done|Battery API on android and one other platform}}
* {{done|Network API on android and one other platform -- Not landed yet, but all the work is done (1 review pending for linux)}}
* {{done|Implement App-cache to current spec}}
* {{done|Implement App-cache to current spec}}
* {{ok|Contacts API spec (spec proposal only, no implementation)}}
* {{miss|Contacts API spec (spec proposal only, no implementation) -- about 50% there, but not done yet.}}
** Missed in favor of finishing up the IndexedDB stretch goal
</onlyinclude>
</onlyinclude>


=== JS  ===
=== JS  ===
*{{ok|Land incremental GC.}}
*{{miss|Land incremental GC.}}
*{{ok|Land Harmony modules.}}
*{{miss|Land Harmony modules.}}
*{{ok|Land support for JS profiler.}}
*{{miss|Land support for JS profiler.}}
*{{ok|Shrink JSObject to ~5 words.}}
*{{done|Shrink JSObject to ~5 words.}}


=== Accessibility ===
=== Accessibility ===
* {{done| Mobile: Accessibility enabled on FF android builds}}
* {{done| Mobile: Accessibility enabled on FF android builds}}
* {{drop| E10S: phase 2. All gecko-side a11y engine work done for parity with single process.}}
* {{drop| E10S: phase 2. All gecko-side a11y engine work done for parity with single process.}}
* {{risk| Canvas accessibility: build accessible subtree.}}
* {{miss| Canvas accessibility: build accessible subtree.}}
* {{risk| Improve accessible tree updating [{{bug|690417}}]}}
* {{miss| Improve accessible tree updating [{{bug|690417}}]}}
* Other activities: Addtional Telemetry, B2G test framework collab.
* Other activities: Additional Telemetry, B2G test framework collab.


=== Multi-Process ===
=== Multi-Process ===


* Continue regular tracking and resolution of [[Electrolysis/Short-Term Goals|short-term goals]]
* {{drop|Continue regular tracking and resolution of [[Electrolysis/Short-Term Goals|short-term goals]]}}
* Remove the need for the --enable-e10s-compat build flag, so users can simply set a pref in Firefox to get multi-process tabs. Note that some or many features still may not work this quarter.
* {{drop|Remove the need for the --enable-e10s-compat build flag, so users can simply set a pref in Firefox to get multi-process tabs. Note that some or many features still may not work this quarter.}}
* Get windowless and windowed plugins working on all platforms.
* {{drop|Get windowless and windowed plugins working on all platforms.}}
* Identify which addons must continue to work to get 80% of users multi-process tabs
* {{done|Identify which addons must continue to work to get 80% of users multi-process tabs}}
* Develop a plan for addon compatibility with content processes. (This may involve a combination of Firefox compatibility shims, porting addons to the Jetpack SDK, manual rewriting, or automatic rewriting).
* {{drop|Develop a plan for addon compatibility with content processes. (This may involve a combination of Firefox compatibility shims, porting addons to the Jetpack SDK, manual rewriting, or automatic rewriting).}}
* Measure the memory usage of multiple content processes and identify wasted space and a plan to correct any issues.
* {{drop|Measure the memory usage of multiple content processes and identify wasted space and a plan to correct any issues.}}
* Identify remaining issues which need input from the UX team for mobile and desktop, including panning responsiveness/checkerboarding tradeoffs (primarily mobile) and misbehaving/crashing content UI (desktop)
* {{drop|Identify remaining issues which need input from the UX team for mobile and desktop, including panning responsiveness/checkerboarding tradeoffs (primarily mobile) and misbehaving/crashing content UI (desktop)}}


=== Perf ===
=== Perf ===
* {{risk|Valgrind developer ROM for pandaboard or Nexus S}}
* {{drop|Valgrind developer ROM for pandaboard or Nexus S}}
* {{risk|linux "perf"-counters in zippity(depends on above ROM to have perf support in kernel)}}
* {{drop|linux "perf"-counters in zippity(depends on above ROM to have perf support in kernel)}}
* {{ok|Bug 662444: exit(0) "immediate" shutdown prototype and a plan to land it}}
* {{miss|Bug 662444: exit(0) "immediate" shutdown prototype and a plan to land it}}
* {{ok|Bug 686805: Incremental decompression for libxul on Android}}
* {{miss|Bug 686805: Incremental decompression for libxul on Android}}
* {{ok|Startup-ordered binary on Windows}}
* {{drop|Startup-ordered binary on Windows}}
* deprioritized: 0 fennec sqlite fsyncs on first startup
* deprioritized: 0 fennec sqlite fsyncs on first startup


Line 141: Line 149:
** Create a plan for a mobile disk cache based gathered data.
** Create a plan for a mobile disk cache based gathered data.
* {{done|Improve App Cache support by resolving {{bug|538595}} and {{bug|538588}}.}}
* {{done|Improve App Cache support by resolving {{bug|538595}} and {{bug|538588}}.}}
* {{missed|Resolve all networking security bugs that received a designation of sg:moderate or higher more than six weeks ago. This will become a permanent goal for the group.}}
* {{miss|Resolve all networking security bugs that received a designation of sg:moderate or higher more than six weeks ago. This will become a permanent goal for the group.}}
** 50% completed. This was our first quarter with this goal so we dealt with a large backlog.
** 50% completed. This was our first quarter with this goal so we dealt with a large backlog.
</onlyinclude>
</onlyinclude>
1,295

edits