Ad-Blocking Extensions Might Be in Danger on Chrome
![](https://admediaryllc.wpengine.com/wp-content/uploads/2019/01/canva-black-google-smartphone-on-box-MADGwCrU0Oo.jpg)
In recent times, Google Chrome has found itself coming under fire with regard to its extensions. This includes various examples of users having their data copied without consent, ads being forced onto pages, and secretly mining cryptocurrency. To combat this situation, Chrome has resolved to make changes to its APIs. The unfortunate downside is that these changes compromise the state of ad-blocking extensions on the browser.
These changes to the API will be reflected in the Manifest version used by Chrome. The Manifest versions determine which APIs can and can’t be used by extensions. The current version being used by Chrome, Manifest v2, came in 2012, while Manifest v3 (the upcoming version) is still being developed.
The developer of uBlock Origin and uMatrix, Raymond Hill, brought this to everyone’s attention based on the Manifest document Google released in order to expand on the changes it has planned for extensions. Hill’s primary concerns centered on the webRequest API being prevented to be used for ad-blocking and a new DeclarativeNetRequest API being the only one responsible for ad-blocking.
According to him, Adblock Plus would remain unaffected because these changes would only provide additional support for the methods it uses. However, uBlock Origin and uMatrix would be rendered unusable. This becomes an additional concern in light of the fact that Google and many other parties pay Adblock Plus in order to have their own ads whitelisted.
While the new DeclarativeNetRequest API has certain performance benefits, it also has extremely limited capabilities for ad-blocking pursuits. This means that other third-party ad-block developers will not be able to stay competitive as they will no longer be able to devise new methods for engine-filtering purposes.
The loss of the webRequest API is very unfortunate because it provided developers with a fair bit of flexibility in how to design their ad-blocking services. This is to say that webRequest API was able to intercept network requests and one could then modify, redirect, or block them. If Manifest v3 is implemented in the form outlined in the Manifest document, network requests will be read-only, so it won’t be possible to modify, redirect, or block them anymore.
Hill was highly critical of what such API changes imply about user agency when using Chrome. A direct quote of his states: “Extensions act on behalf of users, they add capabilities to a ‘user agent’, and deprecating the blocking ability of the webRequest API will essentially decrease the level of user agency in Chromium, to the benefit of websites, which obviously would be happy to have the last word in what resources their pages can fetch/execute/render.”