A Glossary of Common Terms

Some areas maintain their own glossary:

a11y

An abbreviation for Accessibility.

Actor

A pair of parent and child classes used to communicate between the parent process and content processes. JS actors are documented in JSActors.

Artifact build

A build that downloads compiled C++ and Rust code from CI instead of compiling it locally, useful when only working on front-end code. See Artifact builds.

Autoland

The integration repository where patches landed with Lando go first. Its changes are merged to firefox-main once CI is green.

Backout

Reverting a patch that broke the build, caused test failures or regressions, usually done by a sheriff.

Chrome

Usually the parts of the application UI outside of the rendered webpage. Code is also said to be “chrome-privileged” when it runs with the system principal, as opposed to web content.

Content

Usually refers to webpages being rendered, may also be seen as “running in content” in which case it can include UI privileged code running in a process that is rendering webpages.

Content process

A process rendering web content, with fewer privileges than the parent process. See the process model.

e10s

Numeronym for Electrolysis, the project which moved web content out of the parent process into separate content processes.

Fission

The project which isolates sites in separate processes (site isolation).

Gecko

The browser engine of Firefox: networking, DOM, layout, graphics, etc.

i18n

An abbreviation for Internationalization.

IPDL

Inter-process communication Protocol Definition Language, used to describe the messages exchanged between processes. See IPDL.

l10n

Numeronym for Localization: l, 10 chars, n.

l10n-merge

Nickname for the process of merging en-US and a particular localization into one joint artifact without any missing strings, and without technical errors, as far as possible.

Localizability

Enabling a piece of software to be localized. This is mostly externalizing English strings, and writing build support to pick up localized search engines etc.

Localization

The process of creating content in a native language, including translation, but also customizations like Search.

mach

The command line interface to the build system and most developer tools. See mach.

mots

The tool used to manage the list of modules, their owners and peers. See mots.

Parent process

The main, most privileged process of Firefox, which runs the browser UI. Also known as the chrome process.

Pref

Short for preference, a named value used to configure behavior or toggle features. See libpref.

Principal

The security context of a piece of code or document, used to perform security checks. The system principal is the most privileged one.

Sheriff

A member of the team monitoring the trees, who stars intermittent failures, backs out breaking patches and merges autoland to firefox-main.

SpiderMonkey

The JavaScript and WebAssembly engine of Firefox. See SpiderMonkey.

Stylo

The CSS engine of Firefox, written in Rust and shared with Servo.

Taskcluster

The CI system running builds and tests. See Taskcluster.

Treeherder

The web interface showing the results of the CI tasks for each push.

Try

A repository where developers can push patches to run them in CI without landing them. See Try.

WebIDL

The language used to describe the interfaces exposed to web content. See WebIDL bindings.

WebRender

The GPU-based rendering engine of Firefox, written in Rust.

XPCOM

Cross Platform Component Object Model, the component system used through the Gecko codebase. See XPCOM.

XPIDL

The interface description language for XPCOM interfaces. See XPIDL.

XUL

A Mozilla-specific XML UI definition language that we are slowly phasing out and replacing with standard HTML.