Platform/2009-Q3-Goals: Difference between revisions
< Platform
Jump to navigation
Jump to search
DavidBolter (talk | contribs) |
DavidBolter (talk | contribs) m (→Accessibility) |
||
Line 97: | Line 97: | ||
* Update ARIA attribute support in accordance with browser implementation guide updates. (related tracker: {{bug|343213}}) | * Update ARIA attribute support in accordance with browser implementation guide updates. (related tracker: {{bug|343213}}) | ||
** Participate in the ARIA User Agent Implementation Task Force (UAI TF) | ** Participate in the ARIA User Agent Implementation Task Force (UAI TF) | ||
* Participate in the improvement of user keyboard interaction with | * Participate in the improvement of user keyboard interaction with HTML 5 media elements. | ||
* Investigate improving user experience for heavily updating DHTML applications | * Investigate improving user experience for heavily updating DHTML applications | ||
** analysis of what we currently do with a highly mutating dom. (e.g. {{bug|500240}}) | ** analysis of what we currently do with a highly mutating dom. (e.g. {{bug|500240}}) | ||
** performance: look at lowering our churn in response to | ** performance: look at lowering our churn in response to DOM mutation (tree walking, event firing etc), consider more event throttling, identify dom noise. | ||
** stability and correctness: identify how to make our interrogation of content and layout more sensitive ("safe times"). | ** stability and correctness: identify how to make our interrogation of content and layout more sensitive ("safe times"). | ||
Revision as of 00:38, 6 July 2009
General Goals
- Improve product responsiveness.
- Drive towards process separation.
- Improve web capabilities.
- Support Firefox 3.5.1 by driving, implementing, and fixing web platform features that are required.
GFX
- Research multiprocess graphics issues.
- Support & participate in Mozilla Electrolysis project. (joe)
- Resolve how to accomplish hardware accelerated graphics in a multiprocess, sandboxed world. (joe)
- (maybe) Prototype multiprocess hardware acceleration. (joe)
- Measure and decide how font metrics caches will work in multiprocess (startup time and memory usage) (joe)
- Continue hardware acceleration work.
- Continue work on prototype hardware acceleration to extend it to two platforms total. (joe)
- Above notes for hardware accelerated graphics in multiprocess & sandboxed world.
- Improve Cairo software rendering performance. Possibly includes: (jrmuizel)
- stroke_to_path
- perf improvements for glyph rendering
- image scaling performance improvements
- other things that are slow in cairo that people need sped up (suggestions please!)
- Improve cairo capabilities. (jrmuizel)
- high quality downscaling
- develop a plan to resolve image drawing/EXTEND_PAD mess
- need Source clipping? (would improve efficiency of border-image, see current nsIImage::Extract() hack) (need some numbers...)
- (not-likely) Supersampling to eliminate curve seams? see bug 466572
- Font system enhancements (jdaggett)
- Refine font feature support spec with prototype implementation
- Implement support for unicode-range descriptor
- Crude implementation of SVG font support
- Image decode on demand/draw (bholley)
- Win integration work (jimm)
- Improvements to parental controls support (blocked content management, extension manager support).
- Win7 specific
- Taskbar drop lists support for Firefox and Thunderbird.
- Support for tablet pc pen events.
- Touch input improvements (Prototype new gesture events for touch input rather than using mouse event simulations, smarter text selection logic, "big pointer" UI improvements?, implement smarter toggle zoom).
- General: make sure new win7 features are covered (including tests!)
Layout
- Keep working on CSS WG duties (dbaron, fantasai)
- Improve web capabilites.
- SVG/SMIL complete enough that we enable it by default (dholbert)
- Implement SVG/SMIL bug fixes and features (birtles)
- Implement SVG images (roc)
- Land CSS Transitions (dbaron)
- Harfbuzz text backend prototype in tree (jfkthame) Possible security and performance improvements as well
- Animation control via compositor, including JS animation API (roc) Performance improvement, front-end assistance
- An implementation of SVG pointer-events for HTML (jwatt)
- Get some of our tests into the official SVG test suite in a reftest-like format (jwatt) Good for SVG, should help us do better in comparisons
- Clean up and simplify code.
- Simplify GTK2 widget code (e.g. remove mozdrawingarea) (karlt)
- Clean up some block layout code (remove float cache, remove float continuations) (fantasai)
- Improve responsiveness and performance.
- CSS rule matching performance improvements (zwol)
- Improve security.
- Implement dead-frame exploit mitigation (zwol)
Video/Audio
- Rapidly resolve any critical issues uncovered by the Firefox 3.5 release (doublec, kinetik, cpearce)
- Improve performance in some significant way (e.g., be able to drop frames without decoding them) (doublec, kinetik, cpearce)
Mac OS X
- Complete 64-bit Mac OS X port that runs on Mac OS X 10.6, bug 468509.
- Complete NPAPI Cocoa event model implementation, bug 435041.
- Be prepared for Mac OS X 10.6 on all branches.
- Notify QA of seed releases.
- Track any major regressions.
Content
- Continue implementation of HTML5 parser.
- Advertise the HTML5 parsers availability to testers to get more feedback.
- Off main thread HTML5 parsing as a prerequisite for turning HTML5 parsing on by default.
- Propose a long term plan for the generated C++ in the HTML5 parser.
- Make significant progress on XBL2.
- Attachment, detachment, through all three binding mechanisms.
- Initial rendering of the shadow tree.
- Insertion points (<children>).
- Improve extension security and ease of development
- Design and implement an way for JetPack to safely expose APIs to untrusted code.
- Propose an API to add names to the global namespace from JS extensions.
- Improve DOM performance.
- Evaluate the feasibility of proposals such as IndexOf() redesign (per bz's proposal in mozilla.dev.tech.dom) and changing DOM node child list storage from array to linked list or maybe B-tree with backpointers from DOM-nodes to B-tree nodes.
- Profile DOM performance problems beyond the JS to C++ bridge.
- Implement a prototype of multi-process networking.
- Write a test application with a child process that does plain HTTP over IPC through necko in the main process.
JS
Accessibility
- Complete (and harmonize) accessible exposure of XUL and content based tables and tree grids. (related tracker: bug 491681)
- Improve our text attribute support with respect to the IAccessible2 specification. (related tracker: bug 368895)
- Update ARIA attribute support in accordance with browser implementation guide updates. (related tracker: bug 343213)
- Participate in the ARIA User Agent Implementation Task Force (UAI TF)
- Participate in the improvement of user keyboard interaction with HTML 5 media elements.
- Investigate improving user experience for heavily updating DHTML applications
- analysis of what we currently do with a highly mutating dom. (e.g. bug 500240)
- performance: look at lowering our churn in response to DOM mutation (tree walking, event firing etc), consider more event throttling, identify dom noise.
- stability and correctness: identify how to make our interrogation of content and layout more sensitive ("safe times").
Multi-Process
- Working Flash plugin in a separate process, on Windows and Linux
- Multiprocess tab milestones
- Networking
- Global history
- link targeting and session history navigation
- Write a line-item plan and schedule for the remaining pieces of phase 2