Thunderbird Source Docs

Overview

  • Writing documentation
  • Governance
  • Architectural Decision Records
  • Thunderbird code architecture
  • In-App Notifications

Building Thunderbird

  • Building Thunderbird

Localization

  • Localization

Telemetry

  • Notes on Glean/Telemetry in Thunderbird

Front End

  • Storybook
  • Front-End

Rust in Thunderbird

  • Rust in Thunderbird
    • Managing Thunderbird’s Cargo workspace
    • Adding a Rust crate to Thunderbird
    • Using XPCOM within a Rust component

Panorama

  • Panorama
Thunderbird Source Docs
  • Rust in Thunderbird
  • Report an issue / View page source

Rust in Thunderbird

  • Managing Thunderbird’s Cargo workspace
    • Updating dependencies
    • Sync the vendored dependencies
  • Adding a Rust crate to Thunderbird
    • Building the crate
    • Managing a crate’s dependencies
      • Adding dependencies on internal crates
      • Synchronizing dependencies
  • Using XPCOM within a Rust component
    • Implementing an XPCOM interface in Rust
      • Implementing the interface in a struct
      • Using XPCOM-compatible types
      • Exposing the method as XPCOM
      • Writing a constructor for the struct
      • Registering the XPCOM component
    • Instantiating and using objects through XPCOM in Rust
      • The xpcom crate
      • References on new instances or existing services
      • Calling methods on XPCOM objects
        • Handling output with getter_addrefs
        • Mapping return values of XPCOM methods
      • Casting between XPCOM interfaces
    • Build the Cargo documentation for internal crates
Previous Next

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