Firefox Source Tree Documentation¶
Overview
Getting Started
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
- Levelling up
- How to submit a patch
- Data Review
- Code Review FAQ
- Reviewer Checklist
- 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 Pernosco
- Debugging Firefox with rr
- Debugging Firefox with Valgrind
- Debugging On macOS
- Debugging On Windows
- Debugging WebRTC Calls
- Symbolicating TreeHerder stacks locally
- 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
- Signing Local macOS Builds
- Firefox Source Code Directory Structure
- Understanding Artifact Builds
- Firefox for Mobile Devices
- Supported Build Hosts and Targets
- Engineering Show and Tell
- Filing good bugs
- Bug Handling
Firefox User Guide
Source Code Documentation
- Governance
- Firefox Front-end
- Address Bar
- Browser Usage Telemetry
- Command Line Parameters
- Enterprise Policies
- Form Autofill
- Firefox Home (New Tab)
- Installer
- Installation Attribution
- Default Browser Agent
- Migration
- PageDataService
- Places
- Messaging System
- Search
- tabbrowser
- Touch Bar
- UITour
- Firefox Branding
- Storybook for Firefox
- Reusable UI widgets
- Other types of UI Widgets
- Lit
- XUL and HTML
- Design tokens
- JSON design tokens
- Backup Component
- DOM
- Editor
- Style system (CSS) & Layout
- Graphics
- Processes, Threads and IPC
- Firefox DevTools Contributor Docs
- Toolkit
- JavaScript Logging
- Add-on Manager
- Background Task Mode
- Crash Manager
- Crash Reporter
- Feature Gates
- Search Service
- Shield Recipe Client
- Nimbus
- Messaging System Schemas
- Picture-in-Picture
- Prompts
- Subprocess Module
- Telemetry
- Firefox on Glean (FOG)
- Toolkit Modules
- Toolkit Widgets
- Fingerprinting Resistance
- URL Classifier
- WebExtensions API Development
- Managing the built-in en-US dictionary
- Application Update
- Anti-Tracking
- Translations
- SpiderMonkey
- GeckoView
- Fenix
- Acronym Dictionary
- Addressing a performance regression
- Architecture Decisions
- Architecture Overview
- Crash Monitoring
- Creating a release branch
- Data practises
- Development Test Plan
- Fennec Legacy: Migration
- Firebase Cloud Messaging for WebPush
- Firefox for Android Team Processes
- Guide to merging contributor PRs
- Home
- Implementing Telemetry
- Implementing a Nimbus Experiment
- List of Fenix Threads
- Logging Crash Information
- Metric Feature Tags
- Debug settings menu instructions
- Telemetry - Implementation, Reviews, Renewals
- Creating Glean Annotations
- Data review
- Renewing existing telemetry
- Test Telemetry Pings
- Working with Strings
- Adjust
- Certificates
- Crash Reporting
- Experiments
- l10n Screenshots Tests
- Manual Testing
- Metrics Definitions
- Release Checklist
- Substituting Local GeckoView
- Sync Integration Tests
- Telemetry
- UI Tests
- Focus for Android
- Adjust Usage
- Architecture Decisions
- Battery Debugging
- Content blocking
- Crash Reporting with Sentry
- Development Custom GeckoView
- Feature & Issue workflow
- Running GeckoView in a debug environment
- Home
- Homescreen Tips
- Multisession architecture
- Recommended pre-push hook
- Release Process
- Release tracks
- Removing strings
- Sprint Process
- Telemetry
- UI Test
- l10n Screenshot Generation
- WebIDL
- libpref
- Networking
- Remote Protocols
- Services
- File Handling
- Firefox on macOS
- Firefox on Windows
- Machine Learning
- Accessibility
- Code quality
- Writing Rust Code
- Gecko Profiler
- Performance
- Database bindings (SQLite, KV, …)
- XPCOM
- NSPR
- Network Security Services (NSS)
- Web Security Checks in Gecko
The Firefox Build System
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
Localization & Internationalization
Firefox and Python
Metrics Collected in Firefox