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 Crash Reporting

Firefox User Guide

  • 3D view
  • about:debugging
  • Accessibility Inspector
  • Application
  • Browser Console
  • Browser Toolbox
  • Custom Formatters
  • The Firefox JavaScript Debugger
  • Debugger-API
  • Deprecated tools
  • DevTools API
  • DevToolsColors
  • DOM Property Viewer
  • Eyedropper
  • Index
  • JavaScript Tracer
  • JSON viewer
  • All keyboard shortcuts
  • Local Mode
  • Measure a portion of the page
  • Memory
  • Migrating from Firebug
  • Network Monitor
  • Page Inspector
  • Performance Tool
  • Responsive Design Mode
  • Rulers
  • Settings
  • Shader Editor
  • Storage Inspector
  • Style Editor
  • Taking screenshots
  • Tips
  • Toolbox
  • Validators
  • View Source
  • Web Audio Editor
  • Web Console
  • Working with iframes
  • Firefox DevTools User Docs

Source Code Documentation

  • Governance
  • Firefox Front-end
  • DOM
  • Editor
  • Style system (CSS) & Layout
  • Graphics
  • Processes, Threads and IPC
  • Getting started
  • Architecture overview
  • Contributing
  • Bugs and issues
  • Firefox DevTools Contributor Docs
  • Toolkit
    • Profiles Service
    • JavaScript Logging
    • Add-on Manager
    • Autocomplete
    • Background Task Mode
    • Crash Manager
    • Downloads
    • Crash Reporter
    • Internal URLs
    • Search Service
    • IP Protection
    • 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
    • DMG Install
    • Application Update
    • Anti-Tracking
    • Translations
    • Session Store
      • Collecting Data
      • Restoring Data
      • Session Store Utilities
    • PictureInPictureChildVideoWrapper Reference
    • Firefox’s CAPTCHA Detection
    • Content Relevancy
  • 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
  • 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
  • Debugging Intermittent Test Failures
  • Testing Policy
  • Configuration Changes
  • Browser chrome mochitests
  • Chrome Tests
  • geckodriver
  • Test Verification
  • WebRender Tests
  • Mochitest
  • XPCShell tests
  • TPS
  • web-platform-tests
  • GTest
  • Fuzzing
  • Sanitizer
  • Performance Testing
  • Code coverage
  • Testing & Debugging Rust Code

AI Agent Tools

  • AI Agent Tools for Firefox Development

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

  • Firefox metrics
Firefox Source Docs
  • Toolkit
  • Session Store
  • Report an issue / View page source

Session Store

Session Store is the platform independent component for collecting and restoring tab and document state. The different parts of the component can be sorted in the following categories:

  • Collecting Data
    • Handling Document Changes
      • Detecting Changes
      • Incremental Collection
      • Disabling site isolation
    • Collecting Data in the Parent Process
      • Collecting Session Storage
      • Collecting Session History
    • Interacting With Session Store Collection
      • Structure of the collected data
        • Structure of data pushed by UpdateSessionStore
        • Structure of data pushed by UpdateSessionStoreForStorage
        • Structure of data retrieved by SessionHistory.collectFromParent
  • Restoring Data
    • Calling SessionHistory.restoreFromParent
    • Calling SessionStoreUtils.initializeRestore
  • Session Store Utilities
    • SessionStoreUtils
    • nsFrameLoader
    • Preferences
Previous Next

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