Visit Mozilla.org

XULRunner:What XULRunner Provides

From MDC


The goal of XULRunner is to provide a solution for deploying XUL applications (primarily Firefox and Thunderbird), as well as providing an embedding mechanism. The following features are either already implemented or planned:

Contents


[edit] Gecko Features

  • XPCOM
  • Networking
  • Gecko rendering engine
  • DOM editing and transaction support (no UI)
  • Cryptography
  • XBL (XBL2 planned)
  • XUL
  • SVG
  • XSLT
  • XML Extras (XMLHttpRequest, DOMParser, etc.)
  • Web Services (SOAP)
  • Auto-update support (not yet complete)
  • Type ahead find toolbar
  • History implementation (the places implementation in the 1.9 cycle)
  • Accessibility support
  • IPC services for communication between gecko-based apps (not yet complete)
  • Storage/sqlite interfaces (not yet turned on by default)

[edit] User Interface Features

The following user interface is supplied by XULRunner, and may be overridden by embedders under certain circumstances:

  • APIs and user interface for installing, uninstalling, and upgrading XUL applications. See the wikimo:XUL:Installation Story.
  • Extension Manager
  • File picker (uses native OS filepicker as appropriate)
  • Find toolbar
  • Helper app dialog/UI
  • Security UI (maintenance of SSL keychains, etc)

[edit] Embedding APIs

The following embedding APIs are provided by XULRunner:

  • Cross-platform embedding (XRE_InitEmbedding)
  • JavaXPCOM embedding
  • gtkmozembed (Linux only)
  • ActiveX control (Windows only) (not yet complete)
  • NSView-based-widget (Mac OS X only) (not yet complete)

[edit] The "Maybe" List

The following features have been discussed and may be included if developer time permits and code size is controlled:

  • LDAP support
  • Spellchecking support (with or without dictionaries provided) see bug 285977
  • Core support for profile roaming (with application-specific extensibility)
  • PyXPCOM embedding (not yet complete) - but it does work, if you compile a custom build that includes the PyXPCOM bindings and there is a working python available. ActiveState uses PyXPCOM in their products.

[edit] What's out

XULRunner will not supply:

  • Bookmarks or History UI (must be managed by the application/embedder)
  • XForms (XForms will be available as an extension)