XBL (XML Binding Language) is an XML-based markup language for altering the behavior of XUL widgets. It was devised at Netscape in the late 1990s as an extension of XUL.
The primary use of XBL was in the Firefox web browser, but Mozilla deprecated it in 2017 and completely removed it from Firefox in 2019.However, the UXP fork of Firefox intends to continue supporting XBL indefinitely.
Mozilla attempted to standardize XBL 2.0 via W3C in 2007,but due to lack of interest from other web browser vendors, abandoned it in 2012.
The Shadow DOM specification acknowledges XBL as a strong influence.
XUL defines the user interface layout of an application. CSS rules can be used to change the appearance of various XUL elements. But XBL is needed to alter the behavior of a XUL widget, such as a scroll bar.
An XBL file contains bindings, each of which describes the behavior of a XUL widget. The root element of an XBL file is the
<bindings> element, which contains one or more
<binding> elements. Each
<binding> element declares one binding, which can be attached to any XUL element. It may also possess an
id attribute. A binding is assigned to an element by setting the CSS property
-moz-binding to the URL of the binding's file. For example:
The Document Object Model (DOM) is a cross-platform and language-independent interface that treats an XML or HTML document as a tree structure wherein each node is an object representing a part of the document. The DOM represents a document with a logical tree. Each branch of the tree ends in a node, and each node contains objects. DOM methods allow programmatic access to the tree; with them one can change the structure, style or content of a document. Nodes can have event handlers attached to them. Once an event is triggered, the event handlers get executed.
Gecko is a browser engine developed by Mozilla. It is used in the Firefox browser, the Thunderbird email client, and many other projects.
Cross Platform Component Object Model (XPCOM) is a cross-platform component model from Mozilla. It is similar to Microsoft Component Object Model (COM) and Common Object Request Broker Architecture (CORBA). It features multiple language bindings and interface description language (IDL) descriptions; thus programmers can plug their custom functions into the framework and connect it with other components.
XUL, which stands for XML User Interface Language, is a user interface markup language developed by Mozilla. XUL is an XML dialect for writing graphical user interfaces, enabling developers to write user interface elements in a manner similar to web pages.
The following tables compare general and technical information for a number of web browsers.
Mozilla Firefox has features that allow it to be distinguished from other web browsers, such as Chrome and Internet Explorer.
This article compares Cascading Style Sheets (CSS) support for several browser engines.
DOM Inspector (DOMi) is a web developer tool created by Joe Hewitt and was originally included in Mozilla Application Suite as well as versions of Mozilla Firefox prior to Firefox 3. It is now included by default in SeaMonkey and is an installable extension for subsequent versions of Firefox and other Mozilla-based applications. Its main purpose is to inspect and edit the Document Object Model (DOM) tree of HTML and XML-based documents.
The Mozilla application framework is a collection of cross-platform software components that make up the Mozilla applications. It was originally known as XPFE, an abbreviation of cross-platform front end. It was also known as XPToolkit. To avoid confusion, it is now referred to as the Mozilla application framework.
In computing, quirks mode refers to a technique used by some web browsers for the sake of maintaining backward compatibility with web pages designed for old web browsers instead of strictly complying with W3C and IETF standards in standards mode.
sXBL is a mechanism for defining the presentation and interactive behavior of elements described in a namespace other than SVG's. sXBL is very similar to XBL, as it does for SVG documents what XBL does for XUL documents. For example, it is possible to define a generic scrollArea in sXBL and use it in SVG documents.
A browser extension is a small software module for customizing a web browser. Browsers typically allow a variety of extensions, including user interface modifications, ad blocking, and cookie management.
Stylish is a user style manager that can change the appearance of web pages in a user's browser without changing their content by including user-supplied CSS style sheets with those supplied by the web site itself. The Stylish browser extension includes tools with which to write user styles, and can install user styles written by other Stylish users from a companion website. These user styles may be more or less selective, targeting just one web page, or all of the pages on a domain, or every page on the web.
Mozilla Firefox 3.5 is a version of the Firefox web browser released in June 2009, adding a variety of new features to Firefox. Version 3.5 was touted as being twice as fast as 3.0. It includes private browsing, has tear-off tabs, and uses the Gecko 1.9.1 engine. It was codenamed Shiretoko during development, and was initially numbered Firefox 3.1 before Mozilla developers decided to change the version to 3.5, to reflect the inclusion of a significantly greater scope of changes than were originally planned. It is the last major version to support X BitMap images.
Pale Moon is an open-source web browser with an emphasis on customizability; its motto is "Your browser, Your way". There are official releases for Microsoft Windows and Linux, as well as contributed builds for various platforms.
Goanna is an open-source browser engine that is a fork of Mozilla's Gecko. It is used in the Pale Moon browser, the Basilisk browser, and other UXP-based applications. Other uses include a fork of the K-Meleon browser and a fork of Pale Moon called Mypal.