Commit Graph

43 Commits

Author SHA1 Message Date
Raymond Hill efea83a825
Incrementally improve static filtering parser
Most notably, the `denyallow=` option now requires
the presence of a valid `domain=` option to not be
rejected.

Using `denyallow=` without narrowing down using the
`domain=` option leads to catastrophic blocking
behvior, hence the requirement for a valid `domain=`
option.
2020-11-07 13:20:02 -05:00
Raymond Hill 761850d21b
Add clarification regarding validity of IP addresses 2020-09-20 09:26:29 -04:00
Raymond Hill 7e906b33c5
Add more tests for `domain=` and `denyallow=` options 2020-09-18 09:18:32 -04:00
Raymond Hill 3a51ca0002
Add `:style`-based procedural operator 2020-09-05 09:58:54 -04:00
Raymond Hill 673971875d
Fix bad test cases 2020-08-10 10:45:46 -04:00
Raymond Hill 411eda1d4c
Remove duplicate 2020-08-10 10:40:57 -04:00
Raymond Hill c68a7da9ff
Add more test patterns
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/877
2020-08-10 10:35:21 -04:00
Raymond Hill 7c63f252d0
Add more cases to static filtering checklist 2020-07-27 10:32:55 -04:00
Raymond Hill cf31d83acf
Remove infinite iframe creation
Bad idea after all, this can cause bandwidth
abuse to GitHub.
2020-07-17 21:16:38 -04:00
Raymond Hill bc60e6c4a2
Shorten URL 2020-07-17 20:27:17 -04:00
Raymond Hill 3e55ffff13
Add infinite iframe-creation test
Location:
https://gorhill.github.io/uBlock/tests/infinite-iframe-creation.html

The test is useful to ensure no runaway memory consumption
in uBO's main process, and is also useful as rough performance
assessment, i.e. we want uBO's main process to be low CPU, etc.

Useful to use with Chromium's Task Manager, which reports both
memory and CPU usage.

Typically to be used with uBO with default settings/lists.
2020-07-17 16:03:49 -04:00
Raymond Hill 6516834051
Add test cases to static filtering checklist 2020-07-17 10:16:40 -04:00
Raymond Hill 2eec28520f
Fix improper rejecting fitlers with `$all,~document` options
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134#issuecomment-657122472
2020-07-12 10:39:57 -04:00
Raymond Hill dc64cfbd97
Fix properly reporting invalid filter options
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1134

Specifically;

- `beacon`, `ping`, and `websocket` cannot be redirected;
- it's ok to not specify a type when redirecting to `empty`
  resource;
- `csp=` option can't be mixed with other types, redirec
  directives, and more `csp=` options.
2020-07-05 14:11:15 -04:00
Raymond Hill 2476f5f830
Add static filter parser checklist
To be used to validate the static filtering parser code in
uBO. Over time I expect that all theparsing will be done
by the static filtering parser, and thus the list here will
become useful to detect breaking code changes.
2020-07-05 13:24:04 -04:00
Raymond Hill 72bb700568
Add procedural cosmetic operators remove() and upward()
***

New procedural cosmetic operator: `:remove()`

Related issue:
- https://github.com/gorhill/uBlock/issues/2252

The purpose is to outright remove elements from the
DOM tree. Since `:remove()` is an "action" operator,
it must only be used as a trailing operator (just
like the `:style()` operator).

AdGuard's cosmetic filter syntax `{ remove: true; }`
will be converted to uBO's `:remove()` operator
internally.

***

New procedural cosmetic operator: `:upward(...)`

The purpose is to lookup an ancestor element.

When used with an integer argument, it is synonym of
`:nth-ancestor()`, which will be deprecated and which
will no longer be supported once no longer used in
mainstream filter lists.

Filter lists maintainers must only use `:upward(int)`
instead of `:nth-ancestor(int)` once the new operator
become available in all stable releases of uBO.

`:upward()` can also accept a CSS selector as argument,
in which case the nearest ancestor which matches the
CSS selector will be selected.
2020-03-07 14:25:06 -05:00
Raymond Hill c4ee846cd4
Fix title 2019-09-15 14:53:18 -04:00
Raymond Hill 28cde2bd5b
Fix title in test page 2019-09-15 11:29:39 -04:00
Raymond Hill 9367a6015b
Convert new setTimeout-if scriptlet to blacklist approach
As per feedback from filter list maintainers, the
whitelist approach has been deemed to confusing.

The scriptlet has been renamed `no-setTimeout-if`
alias `nostif` to reflect the blacklist approach.

`setInterval-if` has been Similarly changed to
`no-setInterval-if` alias `nosiif`.
2019-09-15 11:01:50 -04:00
Raymond Hill e0fd9750d4
Further fix new setTimeout-if/setInterval-if scriptlets
Addtionally, a dedicated test page has been added:

https://gorhill.github.io/uBlock/tests/scriptlet-injection-filters-1.html
2019-08-25 09:03:24 -04:00
Raymond Hill c1bdc123f2
Fix use of sibling-related CSS syntax at prefix position
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/c6iem5/
2019-06-29 14:07:54 -04:00
Raymond Hill 3a8608b49a
Fix typo in 0f318e9505 2019-06-29 11:44:46 -04:00
Raymond Hill 0f318e9505
Add unsupported cases to test pages
Related discussion:
- https://www.reddit.com/r/uBlockOrigin/comments/c6iem5/
2019-06-29 11:40:10 -04:00
Raymond Hill 4956a166d3
Make test pages small-screen friendly 2019-06-23 08:05:28 -04:00
Raymond Hill a436102ff7
Add test case for `:watch-attr` 2019-06-22 16:41:42 -04:00
Raymond Hill b2fb650279
Fix typos in test page 2019-06-22 12:38:00 -04:00
Raymond Hill 9def7f9c5d
Add tests for chaining with plain CSS syntax 2019-06-22 12:13:27 -04:00
Raymond Hill b5397be601
Add link to parent page 2019-06-22 10:19:36 -04:00
Raymond Hill 10236552ca
Add test pages for procedural filters
Procedural cosmetic filters:
https://gorhill.github.io/uBlock/tests/procedural-cosmetic-filters.html

Procedural HTML filters:
https://gorhill.github.io/uBlock/tests/procedural-html-filters.html
2019-06-22 10:00:25 -04:00
Raymond Hill 5d20013327
fix title 2018-12-08 10:05:45 -05:00
Raymond Hill 98271f6140
cosmetic change to pages' header 2018-12-05 14:48:31 -05:00
Raymond Hill b548fa4318
clarify which trie version is used in benchmark for large set 2018-12-04 13:32:35 -05:00
Raymond Hill 9946267f93
allow navigating back to benchmarks/tests index page 2018-12-04 13:15:45 -05:00
Raymond Hill edfe4a33cd
fix benchmark/test pages 2018-12-04 13:08:34 -05:00
Raymond Hill 1b6fea16da
3rd-gen hntrie, suitable for large set of hostnames 2018-12-04 13:02:09 -05:00
Raymond Hill 6ed0a891f0
prepare benchmark for next generation hntrie 2018-12-01 18:24:17 -05:00
Raymond Hill 7831c094fc
jshint-compliance 2018-11-16 08:00:02 -05:00
Raymond Hill 19b7cbca55
minor review of hntrie code 2018-11-06 13:38:37 -02:00
Raymond Hill bfb9d50d23
hopefully increase mobile friendliness 2018-11-04 22:18:45 -02:00
Raymond Hill 6a2c6faeb4
typo 2018-11-04 22:15:46 -02:00
Raymond Hill e18ec4357e
github-pages: ensure wasm resources can be loaded with Firefox 2018-11-04 22:12:21 -02:00
Raymond Hill 64da8b9509
pull scripts for test pages from rawcdn.githack.com 2018-11-04 18:45:59 -02:00
Raymond Hill e2b330f211
move tests where they can be browsed by all online 2018-11-04 18:25:38 -02:00