23 January 19, 07:04
Quote:The Google Chrome development team is working on making some changes to the Chrome Extensions platform that would end the functionality of ad-blockers like uBlock Origin and uMatrix, if implemented as defined in the current draft document.
Extension capabilities are restricted through a mechanism called extension manifest, currently at version 2. In the next revision, Google plans to limit the blocking capabilities of the webRequest API, which these extensions utilize.
Breaking content filtering functionality
"In Manifest V3, we will strive to limit the blocking version of webRequest, potentially removing blocking options from most events (making them observational only). Content blockers should instead use declarativeNetRequest," reads the provisional document.
This modification would not cover all use cases and the webRequest functionality may end up being preserved in some form, the document states.
Developer Raymond Hill says that phasing out 'webRequest' API in favor of the 'declarativeNetRequest' API would mean the death of uBlock Origin, his highly popular extension for filtering web content, used by over 10 million users.
uMatrix, his other extension that enables the user to define which class of requests made by the web browser should be blocked, would share the same fate.
"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," he says on the bug tracking page for Manifest v3.
One argument in favor of the declarativeNetRequest as the primary content-blocking API in extensions is that it performs better. Another is that it offers better privacy guarantees because it allows extensions to tell Chrome what to do with a given request rather than have the browser forward the request to the extension; this way, the extension does not have access to the network details.
Filtering limitations
Hill explains that his extensions are incompatible with the proposed declarativeNetRequest API because it allows only one specific filtering engine, whereas uBlock Origin and uMatrix rely on various filtering designs to do their job properly.
The proposed modification would promote static filtering capabilities that are compatible with AdBlock Plus and would limit the number of filters to 30,000.
Hill gives the example of the EasyList filters with rules for removing unwanted web content, which is larger than 30,000 entries and is not sufficient for a modern user's filtering needs.
The rule set is used by AdBlock Plus and uBlock Origin and it is much larger than the limit imposed by the 'declarativeNetRequest'.
Hill's comments remained unaddressed by the developers, but they got the vote of Chrome users chiming in. Some of them say that they would switch to a different browser should the proposal make it as it is into the final version of the manifest.
However, discussions are ongoing and the draft document for manifest version 3 states that declarativeNetRequest would act as the primary content-blocking API in extensions. This suggests that secondary methods may be available.
Source