Open-Source Wikis

/

Gecko

/

Firefox / Gecko overview

mozilla/gecko-dev

Firefox / Gecko overview

gecko-dev is the read-only GitHub mirror of mozilla-central, the source tree for the Firefox web browser, the Gecko rendering engine, and the SpiderMonkey JavaScript engine. It contains the full desktop browser (browser/), the Android browser (mobile/), the rendering engine (layout/, gfx/, dom/), the JS engine (js/), the networking stack (netwerk/), the developer tools (devtools/), the WebDriver/CDP automation surfaces (remote/, testing/geckodriver/), and the build system (mach, python/mozbuild, taskcluster/).

This wiki is a navigational map of the tree intended for engineers who need to find their way around tens of millions of lines of C++, JavaScript, Rust, Python, Kotlin, and IDL. It is not a substitute for the canonical Firefox Source Docs, but it links to relevant directories and explains how the major subsystems fit together.

What's in this tree

  • A web browser. browser/ (desktop XUL/HTML chrome, Firefox UI), mobile/ (Android GeckoView and Fenix-style host code).
  • A rendering engine. layout/ (CSS box model, frames, fragments), gfx/ (WebRender, compositor, 2D APIs), dom/ (every Web platform IDL implementation), image/ (decoders), intl/ (i18n), accessible/ (a11y APIs).
  • A JS engine. js/src (SpiderMonkey: parser, JIT, GC, runtime), js/xpconnect (XPCOM ↔ JS bridge).
  • A networking stack. netwerk/ (HTTP/1.1, HTTP/2, HTTP/3 via Neqo, cookies, cache, DNS, WebSocket, WebTransport).
  • Security and crypto. security/ (NSS integration, certificate verifier, sandbox, MLS, Trust Anchors).
  • Storage. storage/ (SQLite wrapper), dom/indexedDB, dom/localstorage, dom/quota, dom/cache.
  • Process model + IPC. ipc/ (IPDL, message channels, shared memory), dom/ipc (content process glue).
  • Foundation. xpcom/ (component framework, threading, refcounting), mfbt/ (Mozilla Framework-Based Templates: the C++ "stdlib"), mozglue/ (early-startup glue).
  • DevTools. devtools/client (the Inspector/Console/Debugger UI), devtools/server (RDP server), devtools/shared.
  • Test infrastructure. testing/ (mochitest, xpcshell, marionette, raptor, talos, web-platform-tests, geckodriver), taskcluster/ (CI configuration).
  • Build system. Top-level mach driver, python/mozbuild/, build/, config/, moz.configure, Makefile.in, *.mozbuild.
  • Architecture — process model, layered structure, major data flows
  • Getting started — building Firefox, running tests, where things live
  • Glossary — Mozilla-specific terms (XUL, XPCOM, IPDL, mach, …)
  • How to contribute — landing patches, conventions, review process
  • By the numbers — codebase statistics
  • Lore — history of major rewrites and eras

Hosting note

This repository is the GitHub mirror of hg.mozilla.org/mozilla-central (and, as of 2023+, also a Git mirror via Mozilla's Git/Mercurial bridge). Patches are not landed via GitHub pull requests; they are landed through Mozilla's Phabricator + Lando workflow, then propagate to this mirror. See How to contribute.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Firefox / Gecko overview – Gecko wiki | Factory