You are currently viewing a snapshot of taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to, please file a bug.

New Extension Developer Features in Deer Park Alpha 1

These items can be leveraged by extension developers building on top of Deer Park Alpha 1 and other new Mozilla applications.

Hidden referrer column for history
Extensions can now access the referrer information for pages stored in the browser history. This feature can be used to provide alternate history views and other useful functionality.
API for prioritizing HTTP connections
The Mozilla networking library now supports the prioritization of connections to a specific server. (details)
API for managing user and UA stylesheets
Extensions can now register stylesheet URIs as additional user and UA stylesheets. This means extensions no longer have to try to edit userContent.css to add styling (say for XBL binding attachment) to web pages. For details on using this API, see Using the Stylesheet Service.
API for configuring proxies
It is now possible for extensions to easily override the proxy configuration without affecting user-visible preferences. (See nsIProtocolProxyService, nsIProtocolProxyFilter, and nsIProtocolProxyCallback.)
Dynamic Overlays
Loading of XUL overlays after the document has been displayed is now supported. (See nsIDOMXULDocument.)
The Mozilla JavaScript engine now supports ECMAScript for XML (E4X), a draft ECMA standard that adds native XML datatypes to the language and provides operators for common XML operations.
Translucent Windows (Windows/Linux)
On Windows and Linux, XUL windows with a transparent background are now supported. This allows whatever is below the window to shine through the window background.
Adding tokens to the User-Agent string
It is now possible for applications, extensions, and vendors to all add tokens to the User-Agent string (using default preferences) without overwriting each other. (details)
Toolkit chrome registry
Chrome registration has been significantly improved to use simple plaintext chrome registration manifests, and no longer keeps the chrome.rdf/overlayinfo cache. See Chrome Registration.
Extension Manager
  • It is now possible to have Extensions outside the profile and application Extensions directories.
  • Installing extensions can now be done by dropping an XPI into the profile or application Extensions directory.
  • Uninstalling an Extension now involves simply deleting its folder from the profile or application Extensions directory.
  • Extensions can be installed on Windows by setting a value in the Windows registry. See this page for more details.
New Preferences Bindings
These new bindings make it easier to create preferences windows for extensions. The new preferences windows support instant-apply behavior, which is enabled by default on Mac and Linux.
API for implementing new command-line switches
An extensible API has been introduced so that extensions can easily handle complex command-line flags. This API will be stable and frozen for 1.1. See the interfaces nsICommandLine and nsICommandLineHandler.
XTF Support
The eXtensible Tag Framework allows adding support for new namespaces using XPCOM components to Mozilla (written in JavaScript or C++). For example, the Mozilla XForms Project uses XTF to add support for the XForms namespace. See the XTF Home Page.
New Scriptable Windows Registry Interface
A powerful and scriptable interface for accessing the Windows registry has been added to provide easy support for all applications. See the nsIWindowsRegKey interface. The component is accessible via the ContractID:;1 (use createInstance, not getService).
nsIWindowsShellService::getRegistryEntry has now been removed as it does not support handling of non-ASCII characters. Note that the open and readStringValue methods of nsIWindowsRegKey can be used in place of getRegistryEntry.