-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement cosmetic filtering #47
Commits on Nov 18, 2019
-
add module for cosmetic filters
add CosmeticFilter fields add cosmetic mask fields
Configuration menu - View commit details
-
Copy full SHA for 90824c1 - Browse repository at this point
Copy the full SHA 90824c1View commit details -
cosmetic filter rule parsing implementation
add tests for parsing cosmetic rules with simple selectors implement is_simple_*selector methods Finish cosmetic filter parsing implementation The only thing missing from here is CSS rule validation. Generally, a DOM is used for that purpose in Javascript-based implementations.
Configuration menu - View commit details
-
Copy full SHA for 462534c - Browse repository at this point
Copy the full SHA 462534cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 73afe91 - Browse repository at this point
Copy the full SHA 73afe91View commit details -
break entity/hostname parsing into separate function
break rule parsing after '#' separator into separate function remove support for `script:inject()` It appears that `script:inject()` is no longer in use; the newer `+js()` syntax is preferred. Ref: https://github.com/gorhill/uBlock/wiki/Static-filter-syntax#scriptlet-injection
Configuration menu - View commit details
-
Copy full SHA for 85c2b03 - Browse repository at this point
Copy the full SHA 85c2b03View commit details -
add framework for CSS parsing error checking
reduce code duplication in tests add tests for hostname parsing add tests for href selectors The Cliqz implementation does not flag `href$=` selectors, so I've left those unflagged as well. add tests for entities as well as fixes for associated logical errors add tests for injected scripts add style specifier tests add tests for unicode and unsupported syntax disallow unhide and script inject rules without hostname constraints prevent generic style rules prohibit double-negated cosmetic filters remove href flag from cosmetic filters
Configuration menu - View commit details
-
Copy full SHA for 77c382a - Browse repository at this point
Copy the full SHA 77c382aView commit details -
Configuration menu - View commit details
-
Copy full SHA for e6160aa - Browse repository at this point
Copy the full SHA e6160aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 91a0716 - Browse repository at this point
Copy the full SHA 91a0716View commit details -
implement CSS selector validation
Rather than pulling in an entire CSS styling library as a dependency, this ensures that the syntax of supplied CSS selectors is valid, without concern for the textual content of individual tokens. As new pseudo-selectors are added to the W3C spec, this implementation should still function as intended. add tests for bad CSS selector inputs protect against urls appearing in `:style()` filters See uBlockOrigin/uBlock-issues#668
Configuration menu - View commit details
-
Copy full SHA for 00b74cf - Browse repository at this point
Copy the full SHA 00b74cfView commit details
Commits on Nov 22, 2019
-
implement cosmetic filter matching
add tests for matching util functions add tests for cosmetic filter matching use iterators instead of loops during matching document cosmetic filter rule matching functions rename hash lists in cosmetic filter matching function update matching algorithm for batch queries simplify test matching implementation
Configuration menu - View commit details
-
Copy full SHA for 47129a1 - Browse repository at this point
Copy the full SHA 47129a1View commit details -
rework id and class flags to be more similar to uBlock Origin
add selector to key convertion tests Currently, `escaped_characters` and `escape_codes` fail because there is no handling for these at the moment.
Configuration menu - View commit details
-
Copy full SHA for f6b8fd0 - Browse repository at this point
Copy the full SHA f6b8fd0View commit details -
Configuration menu - View commit details
-
Copy full SHA for df56646 - Browse repository at this point
Copy the full SHA df56646View commit details -
store complex selector strings instead of entire rules add function to allow retrieving rules for new classes and ids
Configuration menu - View commit details
-
Copy full SHA for af4932e - Browse repository at this point
Copy the full SHA af4932eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f513d5 - Browse repository at this point
Copy the full SHA 7f513d5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 19d92ad - Browse repository at this point
Copy the full SHA 19d92adView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0bbcf32 - Browse repository at this point
Copy the full SHA 0bbcf32View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8ddcc70 - Browse repository at this point
Copy the full SHA 8ddcc70View commit details -
Configuration menu - View commit details
-
Copy full SHA for 018eec5 - Browse repository at this point
Copy the full SHA 018eec5View commit details -
allow efficiently adding single rules with a lazy-evaluated base styl…
…esheet harden CosmeticFilterCache thread safety across FFI
Configuration menu - View commit details
-
Copy full SHA for 87d80bb - Browse repository at this point
Copy the full SHA 87d80bbView commit details -
Configuration menu - View commit details
-
Copy full SHA for b4f0f39 - Browse repository at this point
Copy the full SHA b4f0f39View commit details -
Configuration menu - View commit details
-
Copy full SHA for c996a9f - Browse repository at this point
Copy the full SHA c996a9fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3db6ce5 - Browse repository at this point
Copy the full SHA 3db6ce5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1b973f6 - Browse repository at this point
Copy the full SHA 1b973f6View commit details -
initial implementation of hostname rule db
add struct for keeping track of exceptions per-hostname add type for returning information specific to a hostname
Configuration menu - View commit details
-
Copy full SHA for 6435fe1 - Browse repository at this point
Copy the full SHA 6435fe1View commit details -
rework cosmetic filter cache to support exceptions, styles, and scrip…
…t injects tests for exceptions and base stylesheet fix hidden_generic_rule implementation add tests for hidden generic rules
Configuration menu - View commit details
-
Copy full SHA for a4b0ac7 - Browse repository at this point
Copy the full SHA a4b0ac7View commit details -
finish exception storage implementation
add tests for style and script inject exceptions
Configuration menu - View commit details
-
Copy full SHA for 21ffb01 - Browse repository at this point
Copy the full SHA 21ffb01View commit details -
take exceptions into account for class and id stylesheets
tests for class and id stylesheets with exceptions
Configuration menu - View commit details
-
Copy full SHA for 301a8be - Browse repository at this point
Copy the full SHA 301a8beView commit details -
Configuration menu - View commit details
-
Copy full SHA for 08a5498 - Browse repository at this point
Copy the full SHA 08a5498View commit details -
Configuration menu - View commit details
-
Copy full SHA for f79b3a6 - Browse repository at this point
Copy the full SHA f79b3a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 831bcd0 - Browse repository at this point
Copy the full SHA 831bcd0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8431ad3 - Browse repository at this point
Copy the full SHA 8431ad3View commit details -
use a hashSet for misc generic selectors
return a single injectable script instead of a Vec
Configuration menu - View commit details
-
Copy full SHA for d306fcd - Browse repository at this point
Copy the full SHA d306fcdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1946fad - Browse repository at this point
Copy the full SHA 1946fadView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9ced4b8 - Browse repository at this point
Copy the full SHA 9ced4b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for ce3448e - Browse repository at this point
Copy the full SHA ce3448eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 809a611 - Browse repository at this point
Copy the full SHA 809a611View commit details -
Configuration menu - View commit details
-
Copy full SHA for a2045a6 - Browse repository at this point
Copy the full SHA a2045a6View commit details