This content covers features introduced in Thunderbird 3

The extIApplication is defined in toolkit/components/exthelper/extIApplication.idl.

Implemented via XPCOM service for extIApplication: see the instructions on the FUEL (Firefox), STEEL (Thunderbird) and SMILE (SeaMonkey) pages.

Method overview

boolean quit()
boolean restart()
void getExtensions(extIExtensionsCallback aCallback)


The following interfaces are available to all applications:

Attribute Type Description
id readonly attribute AString The id of the application.
name readonly attribute AString The name of the application.
version readonly attribute AString The version number of the application.
console readonly attribute extIConsole The console object for the application.
extensions readonly attribute extIExtensions The extensions object for the application. Contains a list of all installed extensions. Not available anymore on Gecko 2.0 (see [1]), use getExtensions() instead Obsolete since Gecko 2.0
prefs readonly attribute extIPreferenceBranch The preferences object for the application. Defaults to an empty root branch.
storage readonly attribute extISessionStorage The storage object for the application.
events readonly attribute extIEvents

The events object for the application. supports: "load", "ready", "quit", "unload"

The following interfaces are only available to Firefox:

Attribute Type Description
bookmarks readonly attribute fuelIBookmarkRoots The root bookmarks object for the application.
windows readonly attribute nsIVariant An array of browser windows within the application.
activeWindow readonly attribute fuelIWindow The currently active browser window.



Attempts to shutdown the application. It is possible for the shutdown to be canceled.

boolean quit()
Return value

boolean value indicating whether the shutdown was successful.


Attempts to restart the application. It is possible for the restart to be canceled.

boolean restart()
Return value

boolean value indicating whether the restart was successful.


Calls aCallback with the list of installed extensions.

void getExtensions(extIExtensionsCallback aCallback)
Return value



Although the Application object is preloaded into XUL scripts, it is not preloaded into JavaScript XPCOM code. The object needs to be accessed like any other XPCOM service:

var Application = Components.classes["@mozilla.org/fuel/application;1"].getService(Components.interfaces.fuelIApplication);

See also

FUEL (Firefox), STEEL (Thunderbird) and SMILE (SeaMonkey)