Extensions allow programmers to add new features to Mozilla applications or allow existing features to be modified. Typically, extensions modify the â€œchromeï¿½? of their target applicationâ€”the user interface and the scripts that add functionalty to that interface. However, it is also possible for extensions to include compiled code in the form of XPCOM components.
The following technologies are used when writting Firefox extensions:
XUL (XML User-Interface Language). Used to define the onscreen layout of the UI and to attach scripts and style to the interface.
DOM (Document Object Model). Used to manipulate XUL in real-time as well as any HTML documents loaded.
CSS (Cascading Style Sheets). Used to style the interface and to attach XBL bindings to XUL documents.
More advanced extensions may require the following
XBL (XML Binding Language). Used to extend XUL, allowing the creation of new types of widgets and associated behaviors.
RDF (Resource Description Framework). Used as a data-storage format in some parts of Mozilla and in some extensions.