With a market share over 65%, Google Chrome is the browser of choice for a large majority of internet users. Part of the attraction of Chrome is the wide array of useful extensions including ad-blocking options like Ad-Block Pro and Ublock Origins, however a proposed change to Chrome from Google may render these ad-blockers ineffective, or at least reduce their effectiveness.
According to the proposals outlined in the Manifest V3 document released by Google which outlines possible changes to the Chrome Extension Platform, Google is contemplating restricting the blocking capabilities of the webRequest API. Google is looking to replace the API with a new one called declarativeNetRequest.
Currently, the likes of Ublock Origins relies on the webRequest API to intercept web traffic and modify it before being rendered in the browser, effectively giving them access to kill ads as they’re detected in your network traffic. The declarativeNetRequest API instead hands over the decisions on network requests to Chrome which uses instructions from extensions in the form of a list rather than waiting for a reply from the extension which is how Ublock Origins works.
Google says that the change to use the declarativeNetRequest API would be ‘more performant and offers better privacy guarantees to users’, effectively speeding up web traffic.
Ublock Origins developer Raymond Hill, has commented on the proposed change on the Chromium bug tracker outlining the negative effects this would have on his extensions saying
If this (quite limited) declarativeNetRequest API ends up being the only way content blockers can accomplish their duty, this essentially means that two content blockers I have maintained for years, uBlock Origin (“uBO”) and uMatrix, can no longer exist.
Mr Hill further went on to point out that the change would benefit web sites rather than users saying
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 web sites which obviously would be happy to have the last word in what resources their pages can fetch/execute/render.
With such a limited declarativeNetRequest API and the deprecation of blocking ability of the webRequest API, I am skeptical “user agent” will still be a proper category to classify Chromium.
The Manifest V3 document is still in the proposal stage, and after the news of the proposed changes reached the news Google has specified that the document is ‘not set in stone’. In a statement to 9to5Google, Google said
These changes are in the design process, as mentioned in the document and the Chromium bug. We want to make sure all fundamental use cases are still possible with these changes and are working with extension developers to make sure their extensions continue to work.
Google is under quite a bit of fire here as both an ad company who makes a significant amount of revenue from web advertising – and therefore getting you to see ads benefits them, as well as being the developer of the Chrome browser.
Google, and other companies have been attempting to clean up the sometimes terrible ads found on the internet as part of the Coalition for Better Ads. Under their ad standards a number of ‘bad’ ad behaviours including pop-ups, auto-playing videos, full-screen ads, along with pre-stitial ads are being, or soon will be blocked by default by the browser.
We all love choice when it comes to our apps, devices and extensions so seeing Google render an effective, and much loved extension ineffective isn’t great news. The good news is that it’s not implemented as yet, but it’s something we should all be watching.