Platform/2009-Q3-Goals
< Platform
Jump to navigation
Jump to search
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
- Win7 integration
- Taskbar tab previews (robarnold)
- Taskbar jump lists (jimm)
- Taskbar download progress (sid0)
- Touch input support improvements (smarter text selection logic, "big pointer" UI improvements, better toggle zoom, flicks events) (felipe)
- General: make sure win7 integration is complete.
- Windows integration
- Improvements to parental controls UI support (blocked content UI support, extension manager UI support).
Layout
- Keep working on CSS WG duties (dbaron, fantasai) [ok]
- Improve web capabilites.
- SVG/SMIL complete enough that we enable it by default (dholbert) [ok]
- Implement SVG/SMIL bug fixes and features (birtles) [ok]
- Implement SVG images (roc) [no progress, at risk due to ongoing imglib work]
- Land CSS Transitions (dbaron) [ok]
- Harfbuzz text backend prototype in tree (jfkthame) Possible security and performance improvements as well [ok]
- Animation control via compositor, including JS animation API (roc) Performance improvement, front-end assistance [no progress, at risk due to ongoing 1.9.2 blocker fixing, fixing Mac gradient bugs, scrolling optimizations for mobile]
- An implementation of SVG pointer-events for HTML (jwatt) [ok]
- 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) [done]
- Clean up some block layout code (remove float cache, remove float continuations) (fantasai) [done]
- Improve responsiveness and performance.
- CSS rule matching performance improvements (zwol)
- Improve security.
- Implement dead-frame exploit mitigation (zwol) [ok]
Video/Audio
- Rapidly resolve any critical issues uncovered by the Firefox 3.5 release (doublec, kinetik, cpearce) [ok, there really haven't been any]
- Improve performance in some significant way (e.g., be able to drop frames without decoding them) (doublec, kinetik, cpearce) [ok]
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 parser's 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
- vm perf issues
- tracing
- improved traced cases
- chrome jit
- recursion
- es5
- gc pausing
- sync with adobe nanojit
- breakpad omit-frame-pointer
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)
- 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