Many similar concerns were raised when the Safari API changed, in this case some of the specific limitations and concerns re the declarativeNetRequest approach may be valid – if so, I'd hope that the Chromium team take them on board and improve.
I think the concern re the 30,000 rule limit is misguided. Many of these adblock rule lists are extremely inefficient and should probably be pruned to have less rules.
Extremely good and effective adblocking across most websites can be achieved with significantly less rules.
I personally use an adblocker not only to block ads, but also to block literally everything I don't like. In most websites, this means the social buttons, the comments section, all search functionality, anything in the header or navigation I won't click, related articles, top articles, other recommended articles, footers, links to privacy policies, parts of bylines that I don't care about, header images when I don't like them, posts in certain categories that I don't like, etc. I use filters to, for instance, block Slack links containing domains I know I'm not going to click. I have over 3,000 rules. I wrote the rules myself to be maximally specific and I am not confident that I could prune the list significantly, although I guess it's possible.
It would not surprise me if ad lists are substantially longer, because they have to incorporate the entire internet, not just the 0.001% of it that I visit.
I support the goals of efficiency and performance, and think developers should take those goals seriously, but I object when a browser places a hard cap on anything, because the number that cap should be at differs by use case and by user.
That’s actually not possible on iOS. The content blocking framework only allows a third party ad blocker to submit a JSON file to the system and the rules are processed by Safari.
If you are referring to the quote below, that applies to the Mac version. The iOS version uses a share sheet extension that uses an out of process extension where you have to explicitly share the link you want to block.
Safari warns me that 1Blocker Menu has access to webpage content, why?
We use this permission in order to get information about current tab's domain when you select whitelist option. Sadly, there's no technical way to request just this functionality from the system, so we have to request full access to webpage content (which may include your sensitive information). However, we understand how important this data is and only use the domain. We do not transmit or process your data in any other way. Feel free to disable 1Blocker Menu if you don't like this (you'll still be able to block content).
> Sadly, there's no technical way to request just this functionality from the system, so we have to request full access to webpage content (which may include your sensitive information)
is incorrect. They could use a share extension on the Mac as well (which we do for our adblocker app) which would give them access to the URL when the share extension is accessed but not give full access to the web page content.
> Extremely good and effective adblocking across most websites can be achieved with significantly less rules
Both uBlock and uMatrix can be used without any filter lists, simply using a default-deny ruleset approach, optional in uBO[1], main feature of uMatrix.
However, this approach requires a entirely different matching algorithm than the one matching algorithm picked by the declarativeNetRequest API.
So is your proposal to impose an arbitrary rule on the maximum number of rules and simply have less efficient blocking (with regards to privacy and actual blocking, not performance) until some indefinite point in the future when someone will have potentially produced an equally efficient set of rules satisfying the arbitrary rule?
I think the concern re the 30,000 rule limit is misguided. Many of these adblock rule lists are extremely inefficient and should probably be pruned to have less rules.
Extremely good and effective adblocking across most websites can be achieved with significantly less rules.