dhowe / AdNauseam

AdNauseam: Fight back against advertising surveillance
GNU General Public License v3.0
4.51k stars 189 forks source link

correct parsing of procedural filters #2272

Closed mneunomne closed 1 year ago

mneunomne commented 1 year ago

This merge correctly parses the procedural filters in the contentscript-extra.js instead, when the rules are originally being executed, therefore avoid to run the selectors again, and also parsing it the proper manner with the actions associated with each of the procedural filters.

This fixes a lot of false positives that were occurring (https://github.com/dhowe/AdNauseam/issues/2269, https://github.com/dhowe/AdNauseam/issues/2252, , since the original issue were root selectors of procedural filters being queried without their associated actions (e.g.: has-text, has, match-upwards, etc). Check further documentation on uBlock Origin procedural filters here https://github.com/gorhill/uBlock/wiki/Procedural-cosmetic-filters.

Since we don't need to check the procedural filters using the getAllSelectors function anymore, it also solves the Null Procedural Filter Instance issue https://github.com/dhowe/AdNauseam/issues/2244.


Ad collection with procedural filters should be implemented in our test sets.