[webkit-help] Feedback about Content Blocking Extensions from Adblock Plus

Sebastian Noack sebastian at adblockplus.org
Sun Jun 14 07:07:49 PDT 2015

Hi there,

I'm from Adblock Plus, and just read the articleon the WebKit website [1]
about the new content blocking mechanism, introduced with Safari 9. Thanks
for providing some details. But I identified following shortcomings that
would effectively make the new mechanism insufficient for us, or anybody
supporting our filters [2], which are used by popular filter lists,
including EasyList:

1. Most importantly, our exception rules are recursive. For example ||
example.com$document prevents not only documents loaded from example.com
being blocked. But also resources loaded as part of that document or in any
of it's subframes or their subframes wouldn't be blocked either. However,
this logic doesn't seem to be possible with the ignore-previous-rules
action. A recursive flag would come handy here.

2. There doesn't seem to be a way to distinguish between document and
subdocument requests. While Adblock Plus blocks frames, it never blocks the
top level document, so that users can still access the resource that is
blocked, when entering its URL in the address bar.

3. A dedicated resource-type for XMLHttpRequests, objects (requests loading
a Flash element) and object subrequests (subsequent requests issued by a
Flash object) would certainly be useful as well. EasyList has quite some
filters specifically checking for those.

4. Adblock Plus uses filters subscriptions (periodically downloaded filter
lists, like EasyList) as well as filters added by the user, to decide what
to block. So we'd need a way to dynamically configure block lists. I saw
the pre-release announcements mentioning the new setContentBlocker API for
this purpose. I couldn't find any details on that, but I assume that you
can simply pass in a block list as JavaScript object? But note that we'd
need a way to invalidate previously set blocking rules when filters in
Adblock Plus changed. However, a way to add new rules without flushing the
previously set block list would be extremely useful in some cases as well.
So ideally, this API should let you modify the block list in place.

[1] https://www.webkit.org/blog/3476/content-blockers-first-look/
[2] https://adblockplus.org/filters

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-help/attachments/20150614/e006fbbe/attachment.html>

More information about the webkit-help mailing list