A manifesto for Google Chrome extensions and the controversy surrounding changes ad-blockers and other extensions on the platform.
A first draft of Manifesto V3 for Chrome public in January 2019. Criticism erupted in force because of cripple ad-blocking functionality of Chrome extensions.
Without going into too many details: content blockers on Chrome use API called webRequest API to block certain elements on visited webpages. API called "read only" and move blocking functionality to a new API called declarativeNetRequest API.
One of the main problems with that API was that it had a fixed rules limit of 30,000; popular ad-blocking filter lists like EasyList have more than double the rules already so that it would be impossible to load all the filters.
Raymond Hill, the creator of uBlock Origin and uMatrix, noted that the change would end up being extensions to Google Chrome, and similar comments were made by other developers.
Companies that use Chromium as the core for their browsers, eg. Brave or Vivaldi, were quick to note that they would find ways around the limit.
Google announced that it would raise the limit of the API to 150,000.
We are actively exploring other ways to expand this API, including adding feedback on matched rules, and support for richer redirects leveraging URL manipulation and regular expressions. Additionally, we are currently planning to change the maximum limit of 30k rules to 150k rules.
Google notes that the proposed changes were never designed to "prevent or weaken" ad blockers on the Chrome platform
Another argument that Google brings forward to validate the API change is that the API has been abused in the past by malicious developers to access user "credentials, accounts, or personal information."
The argument is puzzling that Google has previously announced that it will remove only the blocking part of the webRequest API when manifesting V3 launches.
Developers have voiced other concerns as Google's on a rules-based approach only.
Now You : What's your take on Google's announcement?