Two years ago, Google proposed Manifest v3, a number of foundational changes to the Chrome extension framework. Many of these changes introduce new incompatibilities between Firefox and Chrome. As its previouslywrote, the browser want to maintain a high degree of compatibility to support cross-browser development.
Mozilla will introduce Manifest v3 support for Firefox extensions to maintain a high degree of compatibility to support cross-browser development, the company announced on Friday, adding that it will diverge from Chrome's implementation where it matters.
Manifest v3 is the latest extension platform that makes
Chrome extensions more secure, performant, and privacy-respecting, by default.
After consulting several content blocking extension
developers, Mozilla has decided to implement the new declarativeNetRequest
(DNR). According to Google, the DNR API allows extensions to modify network
requests without intercepting them and viewing their content, thereby providing
more privacy.
Since DNR does not yet meet the needs of extension
developers, Mozilla says it will continue to maintain support for the previous
"blocking webRequest API" until there’s a better solution.
"Our initial goal for implementing DNR is to provide
compatibility with Chrome so developers do not have to support multiple code
bases if they do not want to. With both APIs supported in Firefox, developers
can choose the approach that works best for them and their users," Mozilla
wrote in a blog post.
Other high-level changes include:
- Cross-origin protections will be implemented
- Background pages will be replaced b background service workers
- Promise-based APIs will be enabled
- Host permission controls
- Dynamic code execution in privileged extension contexts will be restricted by default
- Content security policy will be introduced for content scripts
- Implementation timeline
Mozilla hopes to support developer testing for Manifest v3
in Q4 2021 while it will start accepting v3 submissions in early 2022. However,
the schedule may be pushed back or delayed due to unforeseeable circumstances,
given that Manifest v3 is a large platform project and some parts of it will
take longer than others to implement.
As for Manifest v2, Mozilla expects it to be supported for
at least one year after Manifest v3 becomes stable in the release channel.