Will the proposed Manifest V3 changes to Chrome break Privacy Badger? #2273
It's not entirely clear yet, but at this point it seems that the changes proposed in the Manifest V3 document are made to support basic list-based blockers only. It's not clear how Manifest V3 would allow for more complex extensions like uBlock Origin, uMatrix, or Privacy Badger. I would like to learn more about this situation from Chromium developers.
An overview of the Manifest V3 proposal's impact upon Privacy Badger
Privacy Badger is a browser extension that automatically learns to block invisible trackers.
The Manifest V3 proposal thoroughly breaks this description. It appears that Privacy Badger will no longer be able to dynamically learn to block trackers, report what it blocked on a page, block cookies from being set or sent, strip referrer headers, nor properly support EFF's Do Not Track policy.
If you remove what makes Privacy Badger unique, replacing it with basic list-based blocking, what are you left with?
Replacing persistent background pages with ServiceWorkers
A non-persistent event-driven background page does not work well for extensions that need to keep ephemeral state.
There are likely other issues (will a ServiceWorker background page support functioning in Incognito contexts, which is essential for privacy and security extensions?), but they are eclipsed by the fundamental mistake of trying to shoehorn stateful extensions into an exclusively event driven model.
Restricting origin access / Manifest Host Permission Specification
Making users confirm extension access (
As Chrome extension docs for permissions state:
Dynamic Content Scripts
It would be great to finally have dynamic, before-anything-else injection of content scripts (https://crbug.com/478183). However, as per the
Removing "blocking" (synchronous request/response interception) from
The above is not meant to be an exhaustive list. The point is that it is a fundamental mistake to try to shoehorn all content intercepting extensions into the limited-by-design declarative model.
referenced this issue
Feb 2, 2019
It looks like Google might be backtracking on this: