Commit Graph

9333 Commits

Author SHA1 Message Date
Raymond Hill c2c2cef4e6
Fix bad test breaking list subscription
Related issue/feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1797#issuecomment-965150304
2021-11-10 08:49:28 -05:00
Raymond Hill 3b53c3a3e3
Further improve GA's surrogate script
Related issue:
- https://github.com/AdguardTeam/Scriptlets/issues/154

Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1807
2021-11-09 15:18:30 -05:00
Raymond Hill 8378baa894
Make Firefox dev build auto-update 2021-11-09 13:31:26 -05:00
Raymond Hill 3307d5bf70
New revision for dev build 2021-11-09 13:23:08 -05:00
Raymond Hill 6f49e079db
Improve GA's surrogate script
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1807
2021-11-09 13:20:49 -05:00
Raymond Hill 4efa6be96b
Fix sticky imported list after removal
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1803
2021-11-08 12:49:03 -05:00
Raymond Hill f55a53a890
Make Firefox dev build auto-update 2021-11-08 11:26:38 -05:00
Raymond Hill 5185c65de1
New revision for dev build 2021-11-08 11:21:31 -05:00
Raymond Hill 97232baee3
Forbid multiple and unexpected CSS style declarations
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1806#issuecomment-963278382
2021-11-08 11:17:47 -05:00
Raymond Hill 1d099e07ae
Make Firefox dev build auto-update 2021-11-08 09:31:38 -05:00
Raymond Hill af42e50824
Import translation work from https://crowdin.com/project/ublock 2021-11-08 09:23:48 -05:00
Raymond Hill d6cae810a3
New revision for dev build 2021-11-08 09:21:27 -05:00
Raymond Hill 630d436342
Forbid usage of opening comment `/*` in query-selectable test
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1806
2021-11-08 09:13:58 -05:00
Imre Kristoffer Eilertsen d8fea7f568
Fix https://github.com/uBlockOrigin/uBlock-issues/issues/1742 (#3860) 2021-11-06 12:52:23 -04:00
Raymond Hill 5daa6a7ff3
Get current language using extensions API (instead of `navigator.language`)
Related feedback:
- https://github.com/gorhill/uBlock/pull/3860
2021-11-06 12:49:27 -04:00
Raymond Hill 871f4abd39
Make Firefox dev build auto-update 2021-11-04 16:01:13 -04:00
Raymond Hill 8393a39334
New revision for dev build 2021-11-04 15:56:14 -04:00
Raymond Hill c97d12c1d6
Remove bad test
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1798
2021-11-04 15:54:24 -04:00
Raymond Hill 955fe944ca
Suggest network filter as best candidate by default
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/qmjk36/

Regression from:
- d930504e3e

Also, fix immediately selecting the resource when using
contextual menu with cosmetic filtering off.
2021-11-04 12:42:48 -04:00
Raymond Hill 34738e5291
Make Firefox dev build auto-update 2021-11-04 11:57:08 -04:00
Raymond Hill 04cf37accb
New revision for dev build 2021-11-04 11:50:39 -04:00
Raymond Hill b63415a3db
Fix breaking navigation through links [regression]
Regression from:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1797
2021-11-04 11:48:07 -04:00
Raymond Hill c25cfd2116
Make Firefox dev build auto-update 2021-11-04 09:42:14 -04:00
Raymond Hill 27c1874425
Import translation work from https://crowdin.com/project/ublock 2021-11-04 09:34:44 -04:00
Raymond Hill 97a847478a
New revision for dev build 2021-11-04 09:31:27 -04:00
Raymond Hill 3f47172473
Update Twitch scriptlet
Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1789#issuecomment-959831926

Related commit:
- 7233b5fd22
2021-11-04 09:24:31 -04:00
Raymond Hill 8b8b7da8d9
Forbid subscribing to filter lists with invalid URLs
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1797
2021-11-04 08:52:06 -04:00
Raymond Hill 25823f0819
Make Firefox dev build auto-update 2021-11-01 16:01:49 -04:00
Raymond Hill 4da8c2244e
New revision for dev build 2021-11-01 15:56:41 -04:00
Raymond Hill 2ab39aee23
Fix not highlighting cases of invalid syntax
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1791

The following case of invalid syntax was not reported as
invalid by the syntax highlighter:

    ... example.com image ...

With dynamic filtering, there can't be a specific
hostname when a specific type is used, or a
specific type when a specific hostname is used, one
or the other must be `*`.
2021-10-31 13:18:31 -04:00
Raymond Hill fa3c4623ea
Make Firefox dev build auto-update 2021-10-31 13:17:55 -04:00
Raymond Hill d5dc997999
New revision for dev build 2021-10-30 11:58:38 -04:00
Raymond Hill 0d3028f71f
Import translation work from https://crowdin.com/project/ublock 2021-10-30 11:57:55 -04:00
Raymond Hill 8f2e1b4d84
Avoid testing sheet-selectability when filter is hinted as procedural
uBO support's `#?#`, which in AdGuard and ABP means that a
cosmetic filter is procedural.

However, uBO interprets this syntax as "probably procedural"
and will use the filter in a declarative way if the filter
is found to be stylesheet-compatible.

In reality though, the likelihood that a "probably procedural"
filter is sheet-selectable is very low, so treating the filter
as procedural a priori help saves pointless tests against
sheet-selectability when using lists primarily designed for
AdGuard or ABP.
2021-10-29 08:33:55 -04:00
Raymond Hill 24fe6f2cfc
Make Firefox dev build auto-update 2021-10-28 11:06:32 -04:00
Raymond Hill 2713143fc6
New revision for dev build 2021-10-28 10:57:45 -04:00
Raymond Hill 3891b4d050
query-selectable selectors are not necessarily sheet-selectable
Related commits:
- 4f923384de
- 97a33c9572
- ef07171f5a

For instance, with "Experimental Web Platform features" enabled, the
following filter becomes natively query-selectable:

    .fail:has(+ a > b)

Meaning uBO won't need to emulate the `:has()` operator, it will
be executed natively using `querySelectorAll()`.

This commit fixes the erroneous assumption that a query-selectable
is also sheet-selectable.
2021-10-28 10:36:26 -04:00
Raymond Hill b4adc3a44e
Make Firefox dev build auto-update 2021-10-27 18:22:04 -04:00
Raymond Hill 44783f548d
New revision for dev build 2021-10-27 18:15:47 -04:00
Raymond Hill ef07171f5a
Refactor how cosmetic filters with pseudo-elements are parsed
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1247#issuecomment-953284365

Distinguish between selectors which can be querySelector-ed
and/or used ni a stylesheet.
2021-10-27 18:09:02 -04:00
Raymond Hill 97a33c9572
Fix test for stylesheet presence
Related commit:
- 4f923384de
2021-10-27 15:13:13 -04:00
Raymond Hill 6722616e28
Make Firefox dev build auto-update 2021-10-27 13:36:37 -04:00
Raymond Hill 4f03b6c4c2
Import translation work from https://crowdin.com/project/ublock 2021-10-27 13:27:45 -04:00
Raymond Hill 87cacd2b0a
New revision for dev build 2021-10-27 13:20:28 -04:00
Raymond Hill 4f923384de
Use an actual stylesheet to validate cosmetic filters
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1751

Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/qgd6fe/

It turns out Chromium has started to implement the `:has()`
operator, which becomes recognized when the browser flag
"Experimental Web Platform features" is enabled. However the
hic is that `:has()` is not supported as a declarative CSS
style rule and is only supported through `querySelector()`
et al.

The fix is to no longer detect plain CSS selectors through
`querySelector` et al. but rather use an actual stylesheet
to validate that a cosmetic filter can be injected into a
stylesheet in a declarative way.

Additionally, I added support to enforce ABP's semantic
regarding cosmetic filter with the `#?#` anchor: when using
such anchor, uBO will _first_ try to compile the filter as
a procedural one rather than a declarative one.

Related discussion:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1011#issuecomment-884824166
2021-10-27 12:56:37 -04:00
Raymond Hill 9f36314084
Make Firefox dev build auto-update 2021-10-26 09:17:10 -04:00
Raymond Hill 986c25fe24
Add Somali language 2021-10-26 09:10:37 -04:00
Raymond Hill 90ed078178
Import translation work from https://crowdin.com/project/ublock 2021-10-26 09:09:36 -04:00
Raymond Hill d7025ff448
New revision for dev build 2021-10-26 09:02:52 -04:00
Raymond Hill b1a338681b
Shield against possible case of invalid attribute name
Not sure this can really happen, but if ever Math.random() would
return `0.9999999999999999`, the attribute name would start with
`{`, i.e. an invalid attribute name.
2021-10-26 08:55:05 -04:00