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.)
- E4X
- 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:
@mozilla.org/windows-registry-key;1
(usecreateInstance
, notgetService
). - nsIWindowsShellService::getRegistryEntry has now been removed as it
does not support handling of non-ASCII characters. Note that the
open
andreadStringValue
methods of nsIWindowsRegKey can be used in place of getRegistryEntry.