Chrome's Adblocker controversy: Google raises maximum limit
You have probably read a lot about the upcoming Manifest V3 for Google Chrome extensions and the controversy surrounding changes affecting ad-blockers and other extensions on the platform.
A first draft of Manifest V3 for Chrome extensions was published to the public in January 2019. Criticism erupted in force because one of the changes would cripple ad-blocking functionality of Chrome extensions.
Without going into too many details: content blockers on Chrome use an API called webRequest API to block certain elements on visited webpages. Google's plan back then was to make the API "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 become impossible to load all of the filters if the new Manifest file would be launched by Google. One of Google's claims, that extensions that would use the old API were impacting performance negatively, was refuted.
Raymond Hill, the creator of uBlock Origin and uMatrix, noted that the change would end his extensions for Google Chrome, and similar comments were made by other developers.
Google tried to address concerns in May by making slight modifications to the API. The company added an option to use 5000 dynamic rules but the overall consensus was that the limitations were still to limiting.
Companies that use Chromium as the core for their browsers, e.g. Brave or Vivaldi, were quick to note that they would find ways around the limit.
Google announced changes that it plans to make to the Declarative Net Request API that would raise the limit of the API to 150,000. Google noted as well that it is investigating options actively to include other methods that could help extension developers leverage the API better.
We are actively exploring other ways to expand this API, including adding methods to get feedback about matched rules, and support for richer redirects leveraging URL manipulation and regular expressions. Additionally, we are currently planning to change the rule limit from maximum of 30k rules per extension to a global maximum of 150k rules.
Google notes that the proposed changes were never designed to "prevent or weaken" ad blockers on the Chrome platform and that Google's main motivation behind the change was to "give developers a way to create safer and more performant ad blockers".
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 considering that Google announced previously that it will remove only the blocking part of the webRequest API when Manifest V3 launches. It would seem thatÂ malicious extension developers may still use it to access user data by monitoring requests.
Developers have voiced other concerns as Google focuses on a rules-based approach only. Any functionality that is not rules based might not be supported by Chrome extensions if the changes launch in the current form.
Now You: What is your take on Google's announcement?