> While other browser vendors introduced declarativeNetRequest (DNR) in favor of blocking Web Request in MV3, Firefox MV3 continues to support blocking Web Request and will support a compatible version of DNR in the future. We believe blocking Web Request is more flexible than DNR, thus allowing for more creative use cases in content blockers and other privacy and security extensions. However, DNR also has important performance and compatibility characteristics we want to support.
https://blog.mozilla.org/addons/2022/11/17/manifest-v3-signi...
So, in a nutshell, they won't deprecate an existing working API, like Google did. But they will additionally support the new API.
As for your question, that's a legitimate request. Maybe dang can change the link?
But that's fine. "It's incumbent on end-users to know what they're installing" is a fine position for Mozilla to take.
Which direction are taking it?
The owner of a walled garden doesn’t need to depend on 3rd parties for anything they can build whatever tools they want in house.
As long as ad networks allow arbitrary code to run, and content designed to trick users, I prefer to centralize on a single source of potential risk (the extension developer) rather than the moving target of malicious ads from myriad sources.
A recent example readily avoided by not allowing the ad to run in the first place: https://www.securityweek.com/webkit-zero-day-vulnerability-e...
"uBlock" stole the new from gorhill.
How does that solve the security issue you mentioned?
webRequest API, because it runs arbitrary JS, could do anything including something malicious by modifying external JS after the extension was submitted to the store. It's an API that makes it impossible for a store to make security guarantees at all.
This is, unfortunately, the behavior ad blockers rely upon to keep their databases of malicious actors fresh.
The declarative API solves that by not allowing page modification outside of safety boundaries like deleting elements.
https://stackoverflow.com/questions/3274144/can-i-modify-out...
Saying that manifest v3 is about security is really not credible. Maybe the changes look like security, but the details are simply not consistent with security being the primary goal.
Edit: nope, reverted. See https://news.ycombinator.com/item?id=34851017.
https://blog.mozilla.org/addons/2022/05/18/manifest-v3-in-fi...
And here
https://blog.mozilla.org/addons/2022/10/31/begin-your-mv3-mi...
Firefox kept support for Event Pages which get direct access to DOM and WebAPIs in the background as well as Web Requests, both of which are not available via Chrome's use of service workers/restricted request API
> “One of the most controversial changes of Chrome’s MV3 approach is the removal of blocking WebRequest, which provides a level of power and flexibility that is critical to enabling advanced privacy and content blocking features. Unfortunately, that power has also been used to harm users in a variety of ways Chrome’s solution in MV3 was to define a more narrowly scoped API (declarativeNetRequest) as a replacement. However, this will limit the capabilities of certain types of privacy extensions without adequate replacement.
> Mozilla will maintain support for blocking WebRequest in MV3. To maximize compatibility with other browsers, we will also ship support for declarativeNetRequest. We will continue to work with content blockers and other key consumers of this API to identify current and future alternatives where appropriate. Content blocking is one of the most important use cases for extensions, and we are committed to ensuring that Firefox users have access to the best privacy tools available.”
I hope FF gets service workers going soon, I haven't followed development closely so I'm not sure what's holding them back besides not wanting to replace Event Pages entirely with it [1]. I tried to build a (non-complicated) extension recently and the service worker API seemed cleaner and modern.
As of October 2022, that’s “not planned”:
That is the solution, it's just not the solution we're allowed to have.