Google Chrome could soon kill off most ad-blocker extensions

Ad-blocker developers fear their Chrome extensions will be wiped out by proposed changes to Chrome APIs.

Google is planning to make some major changes to extension behavior in Chrome that could wipe out some ad blockers.  

Raymond Hill, the developer of uBlock Origin and uMatrix, raised concerns on Tuesday via the Chromium bug tracker that upcoming changes to certain Chrome APIs would mean his extensions can "no longer exist". 

Hill's post, spotted by The Register, raises concerns about proposals in Google's Manifest V3 document that details planned changes to the Chrome Extensions platform. 

Hill's concerns center on Google's proposal to prevent ad blocking through the webRequest API and restrict blocking capabilities to a new DeclarativeNetRequest API.    

He explains that the new API would not impact Adblock Plus as it "merely enforces" that particular ad blocker's way of blocking. That in itself is a potential concern, given Google and others reportedly pay Adblock Plus to have their ads whitelisted. And the new restriction on third-party ad blockers follows Google's own ad-blocking efforts in Chrome.   

However, Hill is most worried that if ad blockers are restricted to only using the declarativeNetRequest API, uBlock Origin and uMatrix will be ruined. 

Hill also notes that it will be impossible for other ad-blocker developers to build new and novel filtering-engine designs. 

Google explains that in Manifest V3 it will aim to limit the blocking version of webRequest, "potentially removing blocking options from most events (making them observational only)". It will also encourage content blockers to instead use declarativeNetRequest. 

The current webRequest API is useful for ad-blocker extensions because it allows them to "intercept network requests to modify, redirect, or block them."

SEE: Sensor'd enterprise: IoT, ML, and big data (ZDNet special report) | Download the report as a PDF (TechRepublic)

Google explains that the webRequest API can have a significant effect on all network requests, even those that aren't modified, redirected or blocked by the extension because Chrome needs to pass a request to the extension and wait for the extension to process it before handling it itself. 

Assuming Manifest V3 is adopted, the new webRequest API would only allow extensions to observe network requests, but not modify, redirect or block them.  

Describing the declarativeNetRequest API, Google notes the API allows extensions to tell Chrome what to do with a given request, rather than have Chrome forward the request to the extension.  

"Thus, instead of the above flow where Chrome receives the request, asks the extension, and then eventually gets the result, the flow is that the extension tells Chrome how to handle a request and Chrome can handle it synchronously" the Google document states.

"This allows us to ensure efficiency since a) we have control over the algorithm determining the result and b) we can prevent or disable inefficient rules.  This is also better for user privacy, as the details of the network request are never exposed to the extension."

However, Hill argues that the shift from webRequest to the DeclarativeNetRequest API will kill so many content-blocking capabilities that he questions whether Chrome can be called a 'user agent' and suggests rather that it's an agent for websites. 

"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," wrote Hill.

"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."

Previous and related coverage

Chrome OS to block USB access while the screen is locked

Google takes steps to protect Chromebooks from some types of physical access attacks.

Microsoft confirms that Chrome extensions will run on new Edge browser

Microsoft's Chromium-based Edge browser could close the extension gap.

Google: Here's how our Chrome ad blocker is killing off pirates

And Google makes the case against using search copyright takedowns to combat piracy.

Google restores 'www' to Chrome URLs after user backlash

But not for long - they will be gone again by Chrome 70.

Google cuts fake ad blockers from Chrome Store: Were you among 20 million fooled?

Bogus ad-blocker extensions in the Chrome Web Store trick millions of people into installing them.

What enterprises need to know about the new Chromium-based Edge browser TechRepublic

How will Microsoft be able to maintain its own browser priorities once it no longer controls the destiny of its own browser engine? 

Google cracks down on malicious Chrome extensions CNET

A more rigorous review process that includes more humans seeks to better scrutinize extensions that demand lots of power.