Google is currently updating the API used by Chrome extensions. Typical users would not have paid much attention until extension developers pointed out that one of the proposed changes might prevent many content blockers (including uBlock Origin) from working. Google has now traced the proposal back to the public outcry, legal threats and an independent report that questioned some of Google's claims.
First, a bit of background history – the current API level for Chrome extensions called "Manifest V2," was introduced in 2012. Since then, Chrome has been repeatedly exposed to malicious extensions. With Manifest V3 currently under development, Google hopes to reduce potential damage from malicious extensions while improving performance and adding new features.
One of the proposed changes is a new declarative NetRequest API that will replace the webRequest API that many extensions (including AdBlock Plus and uBlock Origin) are currently in use. Simply put, instead of extensions doing the network filtering themselves, they provide a filter list that Chrome itself analyzes. In the Manifest V3 design document, Google claims that the current API can have a "significant impact" on browser performance:
It seems perfectly reasonable sending each network request to an extension and stopping the browser until the extension sends a response that would affect performance. Cliqz, the company behind the popular Ghostery browser extension, decided to conduct a study on the impact of ad blockers on actual performance, and the results were not entirely consistent with Google's statements.
[Picture credits: ZDNet]
By Cliqz The study has shown that the average performance impact on popular ad blockers – including Ghostery, uBlock Origin, and AdBlock Plus – was often less than 0.05 milliseconds. While the design document said that the existing API could only slow down Chrome "potentially," in practice this is not for average users.
Ghostery / Cliqz previously rejected the proposed API changes. In a blog post, the company said, "They claim to do so for privacy and browser performance, but in reality, users have very limited options to prevent others from intercepting or getting rid of their surfing habits Whether Google does this to protect its advertising business or simply enforce its own rules is nothing more than a misuse of its dominant position, and if so, we will consider submitting an anti-trust complaint. "
Als Responding to the cry of developers and users, Chrome engineer Devlin Cronin wrote on Google Groups that the current webRequest API is not completely removed as part of Manifest V3:
I would like to point out once again that all these changes are still in the design and design phase, as explicitly stated in the document and tracking error. The declarative NetRequest API is currently under development and is currently under development. The exact changes that will be implemented as part of Manifest V3 are not complete. Feedback during this time is crucial, and we really want to hear your comments and concerns.
Another clarification is that the webRequest API is not completely removed in Manifest V3. In particular, there are currently no planned changes to webRequest's monitoring features (ie anything that does not change the requirement). We are constantly listening to feedback and constantly evaluating it, and we still limit the proposed changes to the webRequest API.
The forum post also describes other changes made to the proposal, such as dynamic support for rules for the upcoming declarative NetRequest API, and increasing the maximum set of rulesets.