Confirmed users
729
edits
m (→Networking) |
(→GFX) |
||
| (37 intermediate revisions by 14 users not shown) | |||
| Line 1: | Line 1: | ||
=== General Goals === | === General Goals === | ||
<onlyinclude> | <onlyinclude> | ||
* {{ok|Realize Android as a top-tier supported platform alongside Windows, Mac, and Linux.}} | * {{ok|Realize Android as a top-tier supported platform alongside Windows, Mac, and Linux.}} | ||
* {{ok|Implement priortized list of features required to support Web Apps (Joint with Product and Apps teams).}} | * {{ok|Implement priortized list of features required to support Web Apps (Joint with Product and Apps teams).}} | ||
| Line 12: | Line 11: | ||
=== GFX === | === GFX === | ||
<onlyinclude> | <onlyinclude> | ||
* {{ | * {{miss|Fennec layers acceleration}} | ||
** Use OpenGL ES on at least a subset of Android hardware | ** Use OpenGL ES on at least a subset of Android hardware | ||
* {{ | * {{miss|Electrolysis Accelerated Layers }} | ||
** Land in Q3 - clean up from Q2 | ** Land in Q3 - clean up from Q2 | ||
** For non-sandboxed processes only | ** For non-sandboxed processes only | ||
* {{ | * {{miss|CSS 3 Font Spec Implementation}} | ||
** Complete bug 651693 | ** Complete {{bug|651693}} | ||
* {{ | * {{miss|Azure - Cairo 2D canvas implementation}} | ||
** Land on mozilla-central by Sept 13 preffed on | ** Land on mozilla-central by Sept 13 preffed on | ||
* Other important Q3 work | * Other important Q3 work | ||
| Line 32: | Line 31: | ||
=== Layout === | === Layout === | ||
<onlyinclude> | <onlyinclude> | ||
* {{ | * {{done|CSS 3D transforms on mozilla-central}} | ||
* {{ | * {{miss|CSS Ruby on mozilla-central}} | ||
* {{ | * {{done|fullscreen style-system support on mozilla-central}} | ||
* {{ | * {{miss|Move the selection state bits from layout to content}} | ||
** We started this work, but needed another week to finish (ETA: 10/7/2011.) | |||
</onlyinclude> | </onlyinclude> | ||
=== Video === | === Video === | ||
<onlyinclude> | <onlyinclude> | ||
* {{ | * {{miss|MediaStream infrastructure landed on mozilla-central with some media element integration}} | ||
* {{ | * {{miss|libcubeb sound library replacing libsydneyaudio on mozilla-central}} | ||
* {{ | * {{done|no threads used for paused media elements}} | ||
* {{ | * {{done|Media URI Fragment support}} | ||
</onlyinclude> | </onlyinclude> | ||
=== DOM === | === DOM === | ||
<onlyinclude> | <onlyinclude> | ||
* e10s:ify IndexedDB | * {{miss|e10s:ify IndexedDB}} | ||
* Replace xpidl with a python based version | ** We started this work, made a bunch of progress, but got stuck on testing infrastructure not being ready (spent a ton of time hunting a leak that blocks a testing effort, which is still not fixed). And after the WebAPI team was formed our priorities shifted and this got put behind other IndexedDB work. | ||
* Start collecting telemetry data for the DOM (number of JS wrappers per document, etc) | * {{done|Replace xpidl with a python based version}} | ||
* Pre-cached JS libraries (not sure what the goal would be here) | * {{miss|Start collecting telemetry data for the DOM (number of JS wrappers per document, etc)}} | ||
* Support whole directory upload | * {{miss|Pre-cached JS libraries (not sure what the goal would be here)}} | ||
* File API support in Workers | ** This really shouldn't have been a goal, what we did want here was an exploration into what this would entail, which did start in bug {{bug|671093}}. | ||
* Finish up the NodeList bindings | * {{miss|Support whole directory upload}} | ||
* Remove nsHTMLContentSink (in preparation for removing old HTML parser later on), carryover from last quarter | ** We didn't get to this due to priorities changing with the creation of the WebAPI team | ||
* Implement support for <input type "number">, carryover from last quarter | * {{done|File API support in Workers}} | ||
* JS Compartment per global | * {{done|Finish up the NodeList bindings}} | ||
* Remove support for policy prefs in caps (significant code removal, dependes on JS compartment per global) | ** This work is done, but due to timing of our releases it's not landed yet. | ||
* {{miss|Remove nsHTMLContentSink (in preparation for removing old HTML parser later on), carryover from last quarter}} | |||
** This missed again due to vacations, all-hands, and the fact that this depends on test fixes that are un-estimateable Lots of progress here though. | |||
* {{miss|Implement support for <input type "number">, carryover from last quarter}} | |||
** We didn't get to finalize this due to priorities changing with the creation of the WebAPI team | |||
* {{miss|JS Compartment per global}} | |||
** This needs to carry over, must get done, didn't get all the pieces in place to start working on this in Q3. | |||
* {{miss|Remove support for policy prefs in caps (significant code removal, dependes on JS compartment per global)}} | |||
** Missed due to the blocking goal missed. | |||
</onlyinclude> | </onlyinclude> | ||
=== JS === | === JS === | ||
<onlyinclude> | <onlyinclude> | ||
* {{ | * {{done|IonMonkey working prototype--a working compiler with GVN, LICM, inlining, LSRA for a small subset of the language, and ARM assembler backend. (Scope reduced a bit from original goal, which included OSR and properties in the language subset. ARM backend added--it wasn't in the original goal.}} | ||
* {{ | * {{done|Land Type inference. (Goal added, wasn't listed at start of quarter)}} | ||
* {{ | * {{done|Implement JIT spraying mitigations. (Goal added, wasn't listed at start of quarter.)}} | ||
* {{done|Debug API: land new debug API through to mozilla-beta}} | |||
* {{miss|GC: finish incremental GC, start generational GC. (We are close--the code for incremental is written, but there is still some perf work ongoing.)}} | |||
</onlyinclude> | </onlyinclude> | ||
=== Accessibility === | === Accessibility === | ||
<onlyinclude> | <onlyinclude> | ||
* {{ | * {{done| Telemetry [[https://bugzilla.mozilla.org/show_bug.cgi?id=648121 bug 648121]]}} | ||
* {{ | * {{done| +phase one+ E10S [[https://bugzilla.mozilla.org/show_bug.cgi?id=646596 bug 646596]]}} | ||
* Other important Q3 work: | * Other important Q3 work: | ||
** Fennec Android accessibility | ** {{done| +early prototype+ Fennec Android accessibility}} | ||
** Make NVDA screen reader users happier [bug 659863] | ** {{done| +focus refactor+ Make NVDA screen reader users happier [bug 659863]}} | ||
** Crush a11y oranges User:Ehsan/OrangeCrush | ** {{miss| +sig. progress+ Crush a11y oranges User:Ehsan/OrangeCrush}} | ||
</onlyinclude> | </onlyinclude> | ||
=== Multi-Process === | === Multi-Process === | ||
<onlyinclude> | <onlyinclude> | ||
</onlyinclude> | |||
=== Mobile === | |||
<onlyinclude> | |||
* {{done| Improve Keyboard and IME }} | |||
** {{done| build expertise on the team}} | |||
** {{done| resolve high profile bugs}} | |||
* {{done| Support Android as Tier 1 }} | |||
** {{done| make tests greener}} | |||
** {{done| make running tests locally easy for developers}} | |||
** {{done| make debugging easier for developers}} | |||
* {{miss| Flash support }} | |||
** {{done| generate plan for Flash support on android}} | |||
** {{done| have team in place to execute the plan}} | |||
** {{miss| have required outside agreements in place}} | |||
</onlyinclude> | </onlyinclude> | ||
=== Perf === | === Perf === | ||
<onlyinclude> | <onlyinclude> | ||
* {{ | * {{done| Valgrind on android}} | ||
* {{ | * {{done| Instrument at least 90% of Firefox IO with Telemetry }} | ||
* Other important Q3 work: | * Other important Q3 work: | ||
** Shutdown telemetry | ** Shutdown telemetry | ||
| Line 94: | Line 119: | ||
=== Networking === | === Networking === | ||
<onlyinclude> | <onlyinclude> | ||
* {{ | * {{miss|SSL performance and responsiveness improvements. Also important for other projects like SPDY.}} | ||
** 90% done, patch is written but delayed due to security issues popping up. | |||
** Fix {{bug|511393}}, Allow multiple SSL worker threads. | ** Fix {{bug|511393}}, Allow multiple SSL worker threads. | ||
* {{ | * {{done|Start making use of telementry to collect network performance data.}} | ||
** Fix {{bug|658894}}, Collect basic telemetry for HTTP requests and page load. | ** Fix {{bug|658894}}, Collect basic telemetry for HTTP requests and page load. | ||
** Fix {{bug|662555}}, Race condition when measuring requestEnd. | ** Fix {{bug|662555}}, Race condition when measuring requestEnd. | ||
** Fix {{bug| | * {{miss|Implement high-resolution platform timers}} | ||
* {{ | ** 90% done, patch is in review. | ||
** Fix {{bug| | ** Fix {{bug|676349}}, Implement high-resolution platform timers for Windows. | ||
* {{ | * {{miss|}} Improve dual-stack IPv6 experience for users. | ||
** 10% done, thought we fixed it but patch was backed out. Probably need a new strategy. | |||
** Fix {{bug|684893}}, Re-implement "happy eyeballs" IPv6 autodetection at TCP open, or similar system. | |||
**** Investigate a fix for biesi's patch | |||
**** If too complicated, start coding the algorithm by the spec | |||
* {{done|Keep WebSockets implementation up to date with latest spec drafts.}} | |||
** We can't control when the spec is complete enough to ship but we can follow it closely and be ready to ship as soon as possible. | ** We can't control when the spec is complete enough to ship but we can follow it closely and be ready to ship as soon as possible. | ||
** Ship an implementation (possible prefixed if spec is not ready) in Firefox 7. | ** Ship an implementation (possible prefixed if spec is not ready) in Firefox 7. | ||
* {{ | * {{done|Improvements to [[NeckoNet|NeckoNet]], our standalone networking performance testing tool.}} | ||
** Should allow us to compare networking performance between two builds under various conditions, including: | ** Should allow us to compare networking performance between two builds under various conditions, including: | ||
*** the ability to adjust latency | *** the ability to adjust latency | ||
| Line 112: | Line 143: | ||
** Ensure that the test server supports pipelining | ** Ensure that the test server supports pipelining | ||
** Allow testing against NeckoNet from Windows and Mac OS X | ** Allow testing against NeckoNet from Windows and Mac OS X | ||
* {{ | * {{miss|Make progress with pipelining improvements.}} | ||
** 70% done, made a lot of progress but not enough. Patches need updating and we haven't completed a system for testing. | |||
** Review outstanding HTTP pipelining improvements. This means being able to mark the review-tracking {{bug|659760}} as fixed. | ** Review outstanding HTTP pipelining improvements. This means being able to mark the review-tracking {{bug|659760}} as fixed. | ||
** Complete performance framework for evaluating them. | ** Complete performance framework for evaluating them. | ||
* {{ | * {{done|Make progress on an SPDY implementation, {{bug|528288}}.}} | ||
** Hard to say what we might be able to accomplish over the course of three months, but we want to have an implementation in progress. | ** Hard to say what we might be able to accomplish over the course of three months, but we want to have an implementation in progress. | ||
* {{ | * {{miss|Work towards an effective mobile disk cache implementation.}} | ||
** 10% done, didn't make much progress, made adjustments and work will continue into Q4. | |||
** Create system with which to measure cache performance locally. | ** Create system with which to measure cache performance locally. | ||
*** Some microbenchmarks have been set up; WIP to analyze and understand results. See [[Necko/MobileCache/MicroBenchmarks]] for status | |||
*** WIP for a test-driver to fetch whole pagesets (much like Talos, but necko-only) | |||
** Use telemetry to collect cache performance data. | ** Use telemetry to collect cache performance data. | ||
*** Some telemetry is in place; investigating how to use data from telemetry in microbenchmarks | |||
** Create a plan for a mobile disk cache based on that data | ** Create a plan for a mobile disk cache based on that data | ||
* {{ | * {{done|Fix {{bug|670911}}. Make deleting the disk cache not kill responsiveness and hog i/o. Do it on a thread, perhaps throttled so as to not hog i/o bandwidth.}} | ||
=== QA === | |||
Full QA team and individual goals are located here:[https://intranet.mozilla.org/QA/Q32011_QAgoals https://intranet.mozilla.org/QA/Q32011_QAgoals] | |||
* {{miss|}} Complete development and deploy the crowd-sourcing Firefox Mobile test harness that allows users, developers and mobile community members to run Firefox Mobile unit tests and report those results to online repository for analysis of potential platform compatibility issues. | |||
* {{done|}} Create a test framework that supports the development and execution of Web Apps unit and functional tests and collaborate with the Web Apps team and Mozilla test community to write and develop automated test cases for Web Apps infrastructure and applications. | |||
* {{done|}} QA support for the shipment of FF 6, FF 7 with special focus on the developer tools features to employ detailed functional testing and crowd and community based testing approaches. | |||
* {{done|}} Develop a set of base-line automated endurance tests that measure Firefox resource (memory, cpu load) utilization over repeated real world use-case scenarios to measure the effect of changes and new features across releases of the Firefox browser. | |||
</onlyinclude> | </onlyinclude> | ||