, 9 tweets, 3 min read
My Authors
Read all threads
It is not possible for uBlock Origin ("uBO") to retrofit its matching algorithm into the set-in-stone matching algorithm of the declarativeNetRequest API.
Matching algorithm logic of:

declarativeNetRequest API (Easylist-like filtering):

- if sb and not sa then block

uBO (*simplified* to not drown in details):

- if db then block
- else if not da then
- if sbb or (sb and not sa) then block
Also, I have this long-term goal of having a user's static filters take precedence over 3rd-party static filters:

- if db then block
- else if not da then
- if usbb or (usb and not usa) then block
- else if not usa and (sbb or (sb and not sa)) then block
A proper blocking webRequest API keeps the door opened for all kind of new matching algorithm ideas.

github.com/gorhill/uBlock…
Another big issue for content blockers relying of community-maintained filter lists, consider the level of activity:

github.com/uBlockOrigin/u…

github.com/easylist/easyl…

A declarativeNetRequest API requires a whole extension update to get the latest changes in the lists.
I consider the filter count limits of the declarativeNetRequest API to be crippling as far as uBO is concerned.

My own personal config is ~140K network filters (even though I use uBO's medium mode).
Despite having ~140,000 static network filters to enforce, the static network filtering engine just needs ~12µs/request on average on my side (as per built-in benchmark).
This tiny overhead is an investment, easily recovered back by all the resources not being downloaded from remote servers, and thus not having to be processed by the browser.

So "performance" can't be a good argument for deprecating the blocking ability of the webRequest API.
I am not against the declarativeNetRequest API, and I am not arguing against the stated advantages -- they are legitimate.

I am against the conversion of the webRequest API into a passive one and other changes crippling uBO's ability to seamlessly function as it does now.
Missing some Tweet in this thread? You can try to force a refresh.

Enjoying this thread?

Keep Current with R. Hill

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!