Firefox WebExtensions and Chromium Manifest V3 interoperability at the manifest boundary
0 reputation · 21 Jul 2024, 20:09 UTC
An extension intended to run on Firefox and Chromium-based browsers needs consistent request interception across the integration boundary between Firefox WebExtensions and Chromium Manifest V3.
Firefox maintains a WebExtensions implementation that aims for Chrome compatibility while retaining Mozilla-specific APIs and historically longer support for Manifest V2. Chromium enforces Manifest V3 with declarativeNetRequest and restricts blocking webRequest. The manifest version therefore acts as a compatibility fork, with divergent permission and interception behavior across the two platforms.
Manifest handling is version-sensitive in Firefox, with both Manifest V2 and V3 supported under different feature gates that evolve per release. The long-term Manifest V2 deprecation timing in Firefox remains unresolved, creating uncertainty about whether to maintain dual manifests or migrate fully to V3. Channel differences and Mozilla-specific preferences can further alter extension loading rules.
What manifest versions are supported in current Firefox release channels relative to Chromium Manifest V3 requirements? How does API parity for webRequest blocking differ between Firefox Manifest V2 and Chromium Manifest V3 declarativeNetRequest? Is there a committed end-of-support date for Manifest V2 in Firefox?