Firefox Source Docs Logo

Overview

  • A Glossary of Common Terms
  • A Quick Guide to Mozilla Applications

Getting Started

  • Getting Set Up To Work On The Firefox Codebase

Working On Firefox

  • Working on Firefox
  • Bug Handling

Firefox User Guide

  • Firefox DevTools User Docs

Source Code Documentation

  • Governance
  • Firefox Front-end
  • DOM
  • Editor
  • Style system (CSS) & Layout
  • Graphics
  • Processes, Threads and IPC
  • Firefox DevTools Contributor Docs
  • Toolkit
  • SpiderMonkey
  • JS Loader
  • GeckoView
  • Fenix
  • Focus for Android
  • WebIDL
  • libpref
  • Networking
  • Remote Protocols
  • Services
  • Permissions
  • File Handling
  • Firefox on macOS
  • Firefox on Windows
  • Firefox AI Runtime
  • Accessibility
  • Media Playback
  • Code quality
  • Writing Rust Code
  • Rust Components
  • Gecko Profiler
  • Performance
  • Database bindings (SQLite, KV, …)
  • XPCOM
  • NSPR
  • Network Security Services (NSS)
  • Web Security Checks in Gecko

The Firefox Build System

  • Mach
  • Pushing to Try
  • Build System
    • Important Concepts
      • Build Glossary
      • Build System Overview
      • Supported Build Hosts and Targets
      • Mozconfig Files
      • moz.build Files
      • mozbuild Sandbox Symbols
      • Files Metadata
      • Profile Guided Optimization
      • Why the Build System might be slow
      • Environment Variables Impacting the Build System
      • Build Targets
      • Python and the Build System
      • Test Manifests
      • mozinfo
      • Text Preprocessor
      • JAR Manifests
      • Defining Binaries for the Build System
      • Defining XPCOM Components
      • Creating Toolchain Archives
      • Localized Builds
      • Unified Builds
      • Cross-compilation
      • Including Rust Code in Firefox
      • Sparse Checkouts
      • Support for projects building with GN
      • Build Telemetry
      • Distributed sccache (sccache-dist)
      • Adding Certificates for Testing
    • integrated development environment (IDE)
      • Cpp Eclipse Projects
      • Visual Studio Projects
    • mozbuild
      • mozbuild
    • Snap Package
      • Firefox Snap Packaging
    • Flatpak Package
      • Firefox Flatpak Packaging
  • Firefox CI and Taskgraph
  • Managing Documentation
  • Vendoring Third Party Components

Testing & Test Infrastructure

  • Automated Testing
  • Understanding Treeherder Results
  • Sheriffed intermittent failures
  • Turning on Firefox tests for a new configuration
  • Avoiding intermittent tests
  • Testing Policy
  • Configuration Changes
  • Browser chrome mochitests
  • Chrome Tests
  • Marionette
  • geckodriver
  • Test Verification
  • WebRender Tests
  • Mochitest
  • XPCShell tests
  • TPS
  • web-platform-tests
  • GTest
  • Fuzzing
  • Sanitizer
  • Performance Testing
  • Code coverage
  • Testing & Debugging Rust Code

Releases & Updates

  • Mozilla Update Infrastructure
  • Watershed Updates
  • Desupport Updates
  • Update Verify

Localization & Internationalization

  • Internationalization
  • Localization

Firefox and Python

  • mozbase
  • Using third-party Python packages

Metrics Collected in Firefox

  • Metrics
Firefox Source Docs
  • Build System
  • Report an issue / View page source

Build System

Important Concepts

  • Build Glossary
  • Build System Overview
  • Supported Build Hosts and Targets
  • Mozconfig Files
  • moz.build Files
  • mozbuild Sandbox Symbols
  • Files Metadata
  • Profile Guided Optimization
  • Why the Build System might be slow
  • Environment Variables Impacting the Build System
  • Build Targets
  • Python and the Build System
  • Test Manifests
  • mozinfo
  • Text Preprocessor
  • JAR Manifests
  • Defining Binaries for the Build System
  • Defining XPCOM Components
  • Creating Toolchain Archives
  • Localized Builds
  • Unified Builds
  • Cross-compilation
  • Including Rust Code in Firefox
  • Sparse Checkouts
  • Support for projects building with GN
  • Build Telemetry
  • Distributed sccache (sccache-dist)
  • Adding Certificates for Testing

integrated development environment (IDE)

  • Cpp Eclipse Projects
  • Visual Studio Projects

mozbuild

mozbuild is a Python package containing a lot of the code for the Mozilla build system.

  • mozbuild

Snap Package

Snap is a packaging format

  • Firefox Snap Packaging

Flatpak Package

Flatpak is a packaging format

  • Firefox Flatpak Packaging
Previous Next

Built with Sphinx using a theme provided by Read the Docs.