Commit graph

10409 commits

Author SHA1 Message Date
Raymond Hill
a31f74325d
Fix "make lint" errors 2022-12-15 11:20:52 -05:00
Raymond Hill
ca43039592
Make Firefox dev build auto-update 2022-12-15 10:25:31 -05:00
Raymond Hill
df8c519eed
New revision for release candidate 2022-12-15 10:21:10 -05:00
Raymond Hill
fa5e4b7769
Fine tune new exceptor code
Related feedback:
- a91781a495 (commitcomment-93128519)

For instance, do not make exceptor widget available for
exceptions from filter lists.
2022-12-15 10:04:59 -05:00
Raymond Hill
e2c3917ecd
Unconditionally set label of toolbar icon
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/discussions/2409
2022-12-15 10:04:03 -05:00
Raymond Hill
de92a9fa25
Make Firefox dev build auto-update 2022-12-14 16:21:08 -05:00
Raymond Hill
a77be2a172
New revision for dev build 2022-12-14 16:14:56 -05:00
Raymond Hill
a91781a495
Rewrite logger's "exceptor" feature
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1861

The "exceptor" feature has been rewritten, with the following
changes as a result:

- The excepted filters cease to exist when closing the logger
- It's now possible to temporary except network filters

When toggling on/off a temporary exception, filter lists are now
fully reloaded. This simplified managing temporary exceptions, and
made it easy to implement temporary exception for network filters,
but this also means there might be a perceptible delay when
adding/removing temporary exceptions. At this point I consider
this an acceptable side-effect just to bring the ability to easily
create temporary exception for network filters, while this
simplified the existing temporary exception code throughout.
2022-12-14 16:04:45 -05:00
Raymond Hill
ce3f852bad
Fix npm dev dependencies -- this fixes "make test" 2022-12-14 10:55:02 -05:00
Raymond Hill
2cdc424b28
Make Firefox dev build auto-update 2022-12-14 09:11:36 -05:00
Raymond Hill
b04fa53fd6
New revision for release candidate 2022-12-14 08:58:09 -05:00
Raymond Hill
d77331f73a
Be sure procedural filterer is present before use
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2407
2022-12-14 08:56:04 -05:00
Raymond Hill
8c64c3c6ac
Make Firefox dev build auto-update 2022-12-13 10:36:22 -05:00
Raymond Hill
2eb9b77ccd
New revision for release candidate 2022-12-13 10:25:31 -05:00
Raymond Hill
b603e9e81e
Various code review related to extended filtering
Bring latest changes to procedural cosmetic filtering to uBOL.

Fix procedural filtering used in HTML filters.

Standardize quick hash algorithm used throughout to DJB2
(except that initialization step is skipped):
- http://www.cse.yorku.ca/~oz/hash.html#djb2
2022-12-13 10:23:51 -05:00
Raymond Hill
5ad2c34212
Make Firefox dev build auto-update 2022-12-12 14:16:52 -05:00
Raymond Hill
12a7d785a1
New revision for dev build 2022-12-12 14:05:26 -05:00
Raymond Hill
58e60d6d96
Fix various regressions in latest dev build
Related issues:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2404
- https://github.com/uBlockOrigin/uBlock-issues/issues/2400#issuecomment-1346050327
2022-12-12 14:02:57 -05:00
Raymond Hill
e537748988
Make Firefox dev build auto-update 2022-12-11 11:40:41 -05:00
Raymond Hill
d66e9602a8
New revision for dev build 2022-12-11 11:31:45 -05:00
Raymond Hill
c143ded758
Improve same-origin test for CNAME-uncloaking purpose
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1062

Related feedback:
- 161a175bb0 (commitcomment-90926455)
2022-12-11 11:30:09 -05:00
Raymond Hill
fac6e6e45e
Make Firefox dev build auto-update 2022-12-11 10:31:27 -05:00
Raymond Hill
592295b978
Import translation work from https://crowdin.com/project/ublock 2022-12-11 10:23:11 -05:00
Raymond Hill
3e92a22c5e
New revision for dev build 2022-12-11 10:20:17 -05:00
Raymond Hill
0971025b21
Use Blob URLs to reliably inject scriptlets
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/235

Fixed as suggested by <https://github.com/evilpie>, to safely
bypass a page's own CSP.
2022-12-11 10:08:10 -05:00
Raymond Hill
1b63d65ac6
Make Firefox dev build auto-update 2022-12-10 11:36:03 -05:00
Raymond Hill
8d9068c84a
New revision for dev build 2022-12-10 11:25:39 -05:00
Raymond Hill
992255e993
Add :remove-attr() and :remove-class() pseudo selector operators
These two new pseudo selectors are _action_ operators, and thus can
only be used at the end of a selector. They both take as argument
a string or regex literal.

For `:remove-class()`, when the argument matches a class name, that
class name is removed.

For `:remove-attr()`, when the argument matches an attribute name,
that attribute is removed.

These operators are meant to replace `+js(remove-attr, ...)` and
`+js(remove-class, ...)`, which from now on are candidate for
deprecation in some future.

Once the next stable release is widespread, filter authors must use
these two new operators instead of their `+js()` counterparts.
2022-12-10 11:18:24 -05:00
Raymond Hill
e959bc2832
Remove unused dependency 2022-12-09 11:28:48 -05:00
Raymond Hill
a2cb425a97
Make Firefox dev build auto-update 2022-12-09 11:26:24 -05:00
Raymond Hill
34a076052c
New revision for dev build 2022-12-09 11:16:22 -05:00
Raymond Hill
b0a0a44c64
Revisit validation of combinators in :not() operator
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/z2ttcx/problem_with_custom_filters_in_1452/iza8nkk/
2022-12-09 11:10:39 -05:00
Raymond Hill
042a56366d
Make Firefox dev build auto-update 2022-12-08 10:21:19 -05:00
Raymond Hill
78a778922d
Minor code review 2022-12-08 10:14:45 -05:00
Raymond Hill
952b5e1522
New revision for dev build 2022-12-08 10:09:30 -05:00
Raymond Hill
f1b19d5115
Fix reverse lookup of generic cosmetic filters
Related feedback:
- 26594fb902 (commitcomment-92413254)
2022-12-08 10:07:58 -05:00
Raymond Hill
96e75770c2
Make Firefox dev build auto-update 2022-12-07 14:20:50 -05:00
Raymond Hill
520d0adeca
New revision for dev build 2022-12-07 14:16:14 -05:00
Raymond Hill
bbf06ad972
Fix parsing of :matches-attr arguments
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2329#issuecomment-1341349992
2022-12-07 14:15:01 -05:00
Raymond Hill
1bda7e0085
Code review of reworked generic cosmetic filtering code
Related commit:
- 26594fb902
2022-12-07 13:48:44 -05:00
Raymond Hill
d7c18fd7db
Make Firefox dev build auto-update 2022-12-07 10:51:07 -05:00
Raymond Hill
267151a732
Import translation work from https://crowdin.com/project/ublock 2022-12-07 10:42:47 -05:00
Raymond Hill
a901606b97
combinatronics is no longer a CDN provider 2022-12-07 10:37:55 -05:00
Raymond Hill
85d614621d
New revision for dev build 2022-12-07 10:35:25 -05:00
Raymond Hill
26594fb902
Rework generic cosmetic filtering code
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2248
2022-12-07 10:30:09 -05:00
Raymond Hill
76d70102f0
Add pseudo-operator :matches-attr()
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2329

The supported syntax is exactly as per AdGuard's documentation:
- https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#extended-css-matches-attr

Though recommended, the quotes are not mandatory in uBO if
the argument does not cause the parser to fail and if there
are no ambiguities.

Additionally, improved the code to better unquote pseudo-operator
arguments, and to bring it closer to how AdGuard does it as per
documentation. When using quotes, `"` and `\` should be escaped
to preserve these characters in the unquoted version of the
argument.

Additionally, it is now possible to have `:has-text()` match the
empty string by just quoting the empty string:

    ...##foo:has-text("")
2022-12-02 15:43:04 -05:00
Raymond Hill
6140e55589
Remove combinatronics.io as CDN 2022-12-02 11:39:32 -05:00
Raymond Hill
8f5fbcf400
Remove LooseVersion dependency in Py script 2022-11-29 12:13:11 -05:00
Raymond Hill
f9fb5bcc5d
Make Firefox dev build auto-update 2022-11-29 12:11:09 -05:00
Raymond Hill
12dce5e479
new revision for dev build 2022-11-29 12:01:41 -05:00