Commit graph

28 commits

Author SHA1 Message Date
Raymond Hill
1de821d99b
Apply stricter rejection of usage of url() in :style rules 2019-01-18 19:07:31 -05:00
Raymond Hill
8a88e9d931
Support CSS selectors mixed w/ operators in procedural cosmetic filters
Related issue:
- https://github.com/gorhill/uBlock/issues/3683

This commit further increases uBO's procedural cosmetic filters
Adguard's cosmetic filter syntax -- specifically those procedural
cosmetic filters where plain CSS selectors appeared following
a procedural oeprator (this was rejected as invalid by uBO).

Also, experimental support for `:watch-attrs` procedural
operator, as discussed in <https://github.com/uBlockOrigin/uBlock-issues/issues/341#issuecomment-449765525>.
Support may be dropped before next release depending on whether
a better solution is suggested.

Additionally, the usual opportunistic refactoring toward ES6
syntax.
2018-12-26 10:45:19 -05:00
Raymond Hill
e2d1f50dd8
Normalize Adguard's plain cosmetic filters disguised as style-based filters
Reported by https://github.com/uBlock-user in
https://github.com/orgs/uBlockOrigin/teams/ublock-issues-volunteers/discussions/56

For some reasons, many cosmetic filters in Adguard's Annoyance List
are plain cosmetic filters disguised as style-based cosmetic filters,
and this was breaking uBO's ability to reverse lookup such filters
from the logger.
2018-12-23 08:58:03 -05:00
Raymond Hill
540c311438
Fix https://twitter.com/arneblankerts/status/1075402247725637633, regression @ d3a3505a54 (diff-1c951eedcd0be2e11c02da8fabcc46b5R380) 2018-12-19 17:44:17 -05:00
Raymond Hill
d3a3505a54
fix regression in 8f05a2f8d3 (related issue: #3683) 2018-12-16 09:17:26 -05:00
Raymond Hill
261ef8c510
Add support for procedural :not to HTML filtering
Related issue: <https://github.com/gorhill/uBlock/issues/3683>

Additionally, improve compile-time error reporting in the logger
2018-12-15 10:46:17 -05:00
Raymond Hill
8f05a2f8d3
fix https://github.com/uBlockOrigin/uBlock-issues/issues/341, and further work for https://github.com/gorhill/uBlock/issues/3683 2018-12-14 15:25:18 -05:00
Raymond Hill
9b27a98f90
Fix https://github.com/gorhill/uBlock/issues/3654
Additionally, there has been refactoring work done regarding
filtering context used throughout uBO, motivated by the fix
here.
2018-12-13 12:30:54 -05:00
Raymond Hill
90c073882e
fix not discarding empty hostnames: 912af3284d (commitcomment-31608689) 2018-12-08 17:23:36 -05:00
Raymond Hill
b8720b83de
fix https://github.com/uBlockOrigin/uBlock-issues/issues/6 2018-10-17 11:52:34 -03:00
Raymond Hill
06fe7e6871
code review for static extended filtering, notably:
- use domain-derived integer hash to store filters

- remove code meant for firefox/legacy

- properly handle subdomains of entity-based filters
2018-09-09 08:10:09 -04:00
Raymond Hill
89c073f3e9
fix https://github.com/uBlockOrigin/uBlock-issues/issues/209 2018-09-07 09:11:07 -04:00
Raymond Hill
e75fba169a
normalize :if to :has (see #3683) 2018-08-25 09:45:49 -04:00
Raymond Hill
bd3922c580
normalize -abp-has to has for better duplicate detection with uBO-specific syntax 2018-08-24 18:31:28 -04:00
Raymond Hill
bf0654b5ed
code review for 138e1bf558 (oops) 2018-06-26 08:33:44 -04:00
Raymond Hill
138e1bf558
fix https://github.com/uBlockOrigin/uBlock-issues/issues/89 2018-06-26 08:30:58 -04:00
Raymond Hill
8dd22c848a
fix https://issues.adblockplus.org/ticket/6649 (allow u flag in regexes) 2018-05-05 08:14:29 -04:00
Raymond Hill
c1d3b6222e
code review: use regex to speed up CSS selector validation 2018-04-05 09:45:11 -04:00
Raymond Hill
15530df0e7
code review: reset internal parser data once done parsing 2018-03-06 15:46:05 -05:00
Raymond Hill
ec56165d0d
new script:inject syntax, use only when next release is *very* widespread 2018-03-06 09:09:53 -05:00
Raymond Hill
ce696e5fbe
fix #3386 2017-12-31 21:13:06 -05:00
Raymond Hill
ec29c9a127
fix #3382 2017-12-31 16:05:23 -05:00
Raymond Hill
37fde84a45
code review #3367 + improve compatibility with Adguard filters 2017-12-31 08:44:29 -05:00
Raymond Hill
17dfec5759
fix #3372 2017-12-30 18:55:01 -05:00
Raymond Hill
e84e79f96e
fix #3367 2017-12-30 16:02:34 -05:00
Raymond Hill
5c20182948
fix regression in per-list filter counts (reported by @mapx-) 2017-12-29 13:31:37 -05:00
Raymond Hill
a8d79feecd
fix #3379 (regression from a9f68fe02f) 2017-12-29 08:05:50 -05:00
Raymond Hill
a9f68fe02f
Fix #3069, and consequently #3374, #3378.
A new filtering class has been created: "static extended filtering".
This new class is an umbrella class for more specialized filtering
engines:
- Cosmetic filtering
- Scriptlet filtering
- HTML filtering

HTML filtering is available only on platforms which support modifying
the response body on the fly, so only Firefox 57+ at the moment.

With the ability to modify the response body, HTML filtering has
been introduced: removing elements from the DOM before the source
data has been parsed by the browser.

A consequence of HTML filtering ability is to bring back script tag
filtering feature.
2017-12-28 13:49:02 -05:00