1,295
edits
(→GFX) |
(→Layout) |
||
(37 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
=== General Goals === | === General Goals === | ||
* Improve | * Improve cold startup performance by 30% on windows and mac. | ||
* | * Deliver out of process plugins for windows. | ||
* | * Deliver SVG Animations. | ||
* Kill security bugs to under 30 again. | |||
* Reduce crashes to at least parity with pre-3.5. | |||
* ARM Support | * ARM Support | ||
** | ** Add testing infrastructure. | ||
** | ** Implement crash reporting | ||
* Release Firefox 3.6 | * Release Firefox 3.6. | ||
=== GFX === | === GFX === | ||
Line 17: | Line 19: | ||
=== Win Integration === | === Win Integration === | ||
* Address any Win7 compatibility issues that show up | |||
=== Layout === | === Layout === | ||
* Improve the Web platform by contributing to tests and specifications | * Improve the Web platform by contributing to tests and specifications | ||
** Publish CSS3 Selectors as CR [fantasai] | ** Publish CSS3 Selectors as CR [fantasai] (done) (backgrounds and borders CR done) | ||
** Ongoing development of reftest infrastructure for the W3C [fantasai, jwatt] | ** Ongoing development of reftest infrastructure for the W3C [fantasai, jwatt] (missed) | ||
* Improve the Web platform by implementing key features | * Improve the Web platform by implementing key features | ||
** Land Harfbuzz prototype integration in tree (allows for richer typographic control, also lays groundwork for performance improvements) [jfkthame] | ** Land Harfbuzz prototype integration in tree (allows for richer typographic control, also lays groundwork for performance improvements) [jfkthame] (mostly done, will miss landing) | ||
** Implement calc() (Web platform) [dbaron] | ** <strike>Implement calc() (Web platform) [dbaron]</strike> Probably insufficient dbaron resources due to crashkill etc (missed) | ||
** Support CSS transitions/SVG animation on nearly all CSS values (browser parity) [dbaron, dholbert] | ** Support CSS transitions/SVG animation on nearly all CSS values (browser parity) [dbaron, dholbert] (done) | ||
** Enable SVG Animation with shippable feature set (near-complete CSS property coverage, near-complete SVG attribute coverage, but not necessarily syncbase timing) (Acid3, browser parity) [dholbert, birtles, jwatt] | ** Enable SVG Animation with shippable feature set (near-complete CSS property coverage, near-complete SVG attribute coverage, but not necessarily syncbase timing) (Acid3, browser parity) [dholbert, birtles, jwatt] (pathlist and lengthlist done this quarter, finishing off next quarter) | ||
* Improve perceived and measured performance | * Improve perceived and measured performance | ||
** CSS scanner performance analysis and improvements (performance) [zwol] | ** CSS scanner performance analysis and improvements (performance) [zwol] (delayed due to security work) (? maybe a patch end of next week) | ||
** Implement some kind of lazy frame construction [?] ( | ** Implement some kind of lazy frame construction [?] (tnikkel) | ||
** Compositor phase 2 --- paint and animation control (performance, also add JS animation API to the platform) [roc] | ** <strike>Compositor phase 2 --- paint and animation control (performance, also add JS animation API to the platform) [roc]</strike> Delayed in favour of layers work | ||
** Implement core layers infrastructure to allow for hardware and multithreaded acceleration [roc] (on track) | |||
* Improve core code architecture to improve stability/performance and reduce cost of future enhancements | * Improve core code architecture to improve stability/performance and reduce cost of future enhancements | ||
** Simplify frame destruction [fantasai] | ** Simplify frame destruction [fantasai] (waiting for review) | ||
* General product improvement | * General product improvement | ||
** fix scroll position restoration and maintenance (bugs 43114 / 103279) [dbaron] | ** fix scroll position restoration and maintenance (bugs 43114 / 103279) [dbaron] (crashkill victim, also blocked on scroll refactoring) | ||
=== Video/Audio === | === Video/Audio === | ||
* Video on ARM - Theora, 15fps on N900 full-screen [at risk due to hardware unavailability] | |||
* | |||
* Remove dependency on libfishsound, liboggz, and liboggplay [doublec] | * Remove dependency on libfishsound, liboggz, and liboggplay [doublec] | ||
* Experimental implementation of accelerated full-screen video using cairo-gl [kinetik] | * <strike>Experimental implementation of accelerated full-screen video using cairo-gl [kinetik]</strike> Obsolete due to layers plan | ||
=== Mac OS X === | === Mac OS X === | ||
Line 51: | Line 54: | ||
=== Content === | === Content === | ||
* Move the web forward by implementing more of HTML5 | |||
** Get our HTML5 history API landed | |||
** Finish the off main thread parsing work | |||
** Speculative loading with the HTML5 parser | |||
** Evaluate what parts, if any, of HTML5 to implement next | |||
** Rewrite session history to be more like what's specified in HTML5 | |||
* Electrolysis | |||
** Implement JPW (cross process JS wrappers) | |||
** Get HTTP GET working over IPC | |||
** Propose a cross process event handling plan | |||
* Improve performance | |||
** Non-blocking cache writes for page load landed | |||
** Staying on trace through same origin XOWs | |||
** Remove the XBL1 CSS based binding mechanism for non-displayed DOM nodes | |||
** Use our (almost) lock-free data structures for our main event queue | |||
** Optimize DOM child storage for performance | |||
** Minimize XPConnect wrapper morphing and the number of XPCOM tearoffs we create from JS | |||
** Improve DOM event handling performance | |||
* Move the plugin API forward | |||
** Implement https://wiki.mozilla.org/Plugins:CancelSourceStream | |||
=== JS === | === JS === | ||
* ES5 | |||
** Complete implementation | |||
* Tracing | |||
** trace more complex recursion | |||
** trace switch-statement style emulators | |||
* Performance | |||
** continue sunspider improvements (within 20% of Chrome 3 on Windows Vista) | |||
** improve v8 benchmark performance substantially (at least 2x vs. Oct1 trunk) | |||
** jsval 64-bit representation | |||
* Continue GC redesign | |||
** GC perf tests | |||
** see [[JavaScript:SpiderMonkey:GC Futures]] | |||
* jsctypes | |||
** Spec and implement a JS-facing API for handling pointers, structs, and arrays. | |||
=== Accessibility === | === Accessibility === |
edits