Firefox Source Docs Logo

Quick search

Getting Started

  • Getting Set Up To Work On The Firefox Codebase

Working On Firefox

  • Working on Firefox
    • Firefox Contributors’ Quick Reference
    • Working with stack of patches Quick Reference
    • Pocket Guide: Shipping Firefox
    • Editor / IDE integration
    • Getting reviews
    • Mercurial Overview
    • Mercurial Bundles
    • Capturing a minidump
    • Debugging A Hang On macOS
    • Debugging A Minidump
    • Debugging Firefox with GDB
    • Debugging Firefox with LLDB
    • Debugging Firefox with rr
    • Debugging Firefox with Valgrind
    • Debugging On macOS
    • Debugging On Windows
    • How to get a process dump with Windows Task Manager
    • How to get a stacktrace for a bug report
    • How to get a stacktrace with WinDbg
    • Understanding Crash Reports
    • Firefox Source Code Directory Structure
    • Understanding Artifact Builds
    • Firefox for Mobile Devices
    • Supported Build Hosts and Targets
    • Engineering Show and Tell
  • Bug Handling

Firefox User Guide

  • Firefox DevTools User Docs

Source Code Documentation

  • Governance
  • Firefox Front-end
  • DOM
  • Editor
  • Layout & CSS
  • Graphics
  • Processes, Threads and IPC
  • Firefox DevTools Contributor Docs
  • Toolkit
  • SpiderMonkey
  • GeckoView
  • WebIDL
  • libpref
  • Networking
  • Remote Protocols
  • Services
  • File Handling
  • Firefox on macOS
  • Firefox on Windows
  • Accessibility
  • Code quality
  • Writing Rust Code
  • Gecko Profiler
  • Performance
  • XPCOM
  • NSPR
  • Network Security Services (NSS)

The Firefox Build System

  • Mach
  • Pushing to Try
  • Build System
  • Firefox CI and Taskgraph
  • Managing Documentation

Testing & Test Infrastructure

  • Automated Testing
  • 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
  • web-platform-tests
  • GTest
  • Fuzzing
  • Sanitizer
  • Performance Testing
  • Code coverage
  • Testing & Debugging Rust Code

Releases & Updates

  • Mozilla Update Infrastructure
  • Watershed Updates

Localization & Internationalization

  • Internationalization
  • Localization

Firefox and Python

  • mozbase
  • Using third-party Python packages

Metrics Collected in Firefox

  • Metrics
Firefox Source Docs
  • Working on Firefox
  • Report an issue / View page source

Working on Firefox¶

Welcome to the Firefox codebase. This is the home of the Firefox development process and source code documentation.

Making Changes To Firefox

  • Firefox Contributors’ Quick Reference
  • Working with stack of patches Quick Reference
  • Pocket Guide: Shipping Firefox
  • Editor / IDE integration
  • Getting reviews

The Mercurial Version Control System

  • Mercurial Overview
  • Mercurial Bundles

Debugging

  • Capturing a minidump
  • Debugging A Hang On macOS
  • Debugging A Minidump
  • Debugging Firefox with GDB
  • Debugging Firefox with LLDB
  • Debugging Firefox with rr
  • Debugging Firefox with Valgrind
  • Debugging On macOS
  • Debugging On Windows
  • How to get a process dump with Windows Task Manager
  • How to get a stacktrace for a bug report
  • How to get a stacktrace with WinDbg
  • Understanding Crash Reports

Additional Information

  • Firefox Source Code Directory Structure
  • Understanding Artifact Builds
  • Firefox for Mobile Devices
  • Supported Build Hosts and Targets
  • Engineering Show and Tell
Previous Next

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