Gecko:1.9 Planning

From MozillaWiki
Jump to: navigation, search

This is a brainstorm page, raw and ready.

Graphics capabilities

  • cairoification
  • SVG 1.1 complete and performant
    • solid testing of opera-interop
  • Canvas improvements
    • OpenGL ES context?
    •  %age width/height
    • finish Safari compatibility
  • 3D markup for retained-mode and model manipulation?
  • transforms/filters for images and canvas
  • XUL2D
    • affine transformations
    • non-affine transformations (selected only?)
    • transforms expressed in CSS
    • declarative animation
    • pan, zoom, scale
    • translucent and non-rectangular windows
    • text and others on paths
    • flow and flex around complex shapes
  • 3D work
    • X3D?
  • Level of detail
    • Thumbnailing
    • fast-but-general for animations
    • content model LOD?
  • downloadable fonts
  • vertical text
  • printing improvements


  • packages
  • namespaces
  • classes/MOP
  • type annotations
  • operators
  • E4X rationalization (E5X)
  • debugging infrastructure
    • mixed-lang (python, C++, etc.)
  • GC improvements
  • security model revamp
  • E4X<->DOM glue

Python for XUL

  • XBL language neutrality
  • performance?

XUL' and XBL2


  • improved template builder
    • data providers for sqlite, RDF, filesystem, computed-by-JS
    • produce arbitrary content
    • unprivileged use
  • XUL box model
    • hyatt's spec and CSS properties
  • user-implemented layout managers (a la grid, stack, deck)
  • improved widgets
    • tree (esp "view" API), sort for unprivileged content
    • grid
    • stack and event handling
    • support for large-scale data containers (not just in tree)
  • overlays
    • synthesized onload (at the least: declarative event handler merging)
    • xpath insertion-point selection
    • fallback locations
  • editing improvements
    • NVU changes landed
    • richer editor interface
  • whitespace preservation in XUL, for editor roundtripping
  • error reporting
    • debugging/tracing
  • Cocoa widgets
  • remote XUL
    • sync/async for DTD loading, etc.
    • security issues
  • single-file apps (script, XUL, XBL, DTD, CSS)


  • XBL attachment model
  • XBL capability/security model
  • language agnosticism
  • custom rendering of widgets (merge in XTF)
  • inherits= for CSS
  • sXBL specification

Web app improvements

  • security UI consolidation
  • offline detection/pinning/behaviour (a la Alchemy)
  • client-local storage a la Hixie


  • Unification of "embedding" APIs (nsIWebBrowser) with XUL APIs, for consolidation of window-targeting and other docshell mess
  • XP embedding APIs (XRE_InitEmbedding) - bootstrapping mainly needs a little glue and a lot of documentation
  • Platform-specific embedding APIs
    • ActiveX embedding control - code is there and basically works - needs incorporation into libxul and lots of testing
    • gtkmozembed - code is there and is tested by Epiphany and others: needs incorporation into libxul with some additional glue APIs.
    • The Camino NSView thing: needs help, bsmedberg isn't strong enough in Cocoa to figure out symbol export requirements and linking strategy.


  • evidence-based security model
    • With or without unified security stack tracing?
  • roc-style global gc
  • XULRunner bootstrapping
    • Stop doing the process restart thing, requires XPCOM shutdown work
    • Provide minimal download CAB for quick initial bootstrap, with additional download in background?
  • MathML
  • Extension manager enhancements
    • App and Extension locale packs