Commit Graph

9251 Commits

Author SHA1 Message Date
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
Raymond Hill 5bea149e8f
Fix spurious errors in uBO's dev console
Those spurious errors occurred when launching the browser
with the dashboard already opened from the previous
browsing session.
2021-10-26 08:54:04 -04:00
Raymond Hill c136c7b454
Auto-escape commas in removeparam's regexes
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/760#issuecomment-951146371

This is a quick fix, some refactoring necessary for a more
comprehensive fix to all such issues.
2021-10-26 08:51:55 -04:00
Raymond Hill f5001c03aa
Update submodules 2021-10-26 08:11:09 -04:00
Raymond Hill f94781bafc
Update submodules 2021-10-26 07:29:35 -04:00
Raymond Hill 1b4d17ca2f
Update submodules 2021-10-26 07:20:49 -04:00
Raymond Hill c8498b911d
Update submodules 2021-10-26 07:06:52 -04:00
Raymond Hill 32bd74f180
Make Firefox dev build auto-update 2021-10-22 15:11:55 -04:00
Raymond Hill ff58f4d7e0
New revision for dev build 2021-10-22 15:01:37 -04:00
Raymond Hill d5cfd673dc
Condense list details in Support pane
Related commit:
- a3a43c7cb4
2021-10-22 14:59:41 -04:00
Raymond Hill 318469b005
Remove unused function 2021-10-22 08:34:04 -04:00
Raymond Hill 90fd3b6973
Import translation work from https://crowdin.com/project/ublock 2021-10-22 08:32:59 -04:00
Raymond Hill dfbbece807
Make Firefox dev build auto-update 2021-10-18 11:22:03 -04:00
Raymond Hill 6a64beda37
New revision for dev build 2021-10-18 11:13:38 -04:00
Raymond Hill d9eb0b1002
Import translation work from https://crowdin.com/project/ublock 2021-10-18 11:12:16 -04:00
Raymond Hill 65985343fc
Create new page store if not found in tab event
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/757

Sometimes a tab event may fire for a tab which is not
yet known to uBO. In such case, bind the tab internally
so that it can be processed properly in the future.
2021-10-18 09:43:41 -04:00
Raymond Hill c2269d7202
Minor CSS fix 2021-10-18 09:11:34 -04:00
Raymond Hill 18ae79cdf2
Remove unused code path as per current minimum browser version 2021-10-17 13:50:43 -04:00
Raymond Hill a72aa58c92
Adjust font-size for `code` tags 2021-10-17 13:47:41 -04:00
Raymond Hill d1921131b6
Make Firefox dev build auto-update 2021-10-17 13:26:52 -04:00
Raymond Hill 8642c707a7
New revision for dev build 2021-10-17 13:19:42 -04:00
Raymond Hill f56ad0100a
Import translation work from https://crowdin.com/project/ublock 2021-10-17 13:17:34 -04:00
Raymond Hill e4d75fa025
Ignore unused tabs.onUpdated() events 2021-10-17 12:55:31 -04:00
Raymond Hill 9f693c75c7
Remove Spam-404, add curben's Phishing and PUP lists
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/1766
2021-10-16 12:36:32 -04:00
Raymond Hill d7d38449ea
Add official mirrors for Nordic Filters and EasyList Lithuania (issue #1566) (#3859)
* Fix https://github.com/uBlockOrigin/uBlock-issues/issues/1566

* Update assets.json

* Removed two cdnURLs duplicates

As per https://github.com/uBlockOrigin/uBlock-issues/issues/1566#issuecomment-944922005

Co-authored-by: Imre Kristoffer Eilertsen <imreeil42@gmail.com>
2021-10-16 10:50:16 -04:00
Raymond Hill 03dbd7ce6a
Make Firefox dev build auto-update 2021-10-16 09:16:34 -04:00
Raymond Hill 67737b9b27
Fix import script 2021-10-16 09:03:12 -04:00
Raymond Hill 9b7dd61b1d
Import translation work from https://crowdin.com/project/ublock 2021-10-16 09:02:52 -04:00
Raymond Hill c7aecde544
New revision for dev build 2021-10-16 08:49:47 -04:00
Raymond Hill c44117aa70
Further fine tune Support pane
Related commit:
- a3a43c7cb4
2021-10-16 08:43:31 -04:00
Raymond Hill cd5f58779b
Also check for unsupported tags in descendants 2021-10-16 08:42:55 -04:00
Raymond Hill ba6a9f999e
Make Firefox dev build auto-update 2021-10-15 17:01:49 -04:00
Raymond Hill 7b36eb89e5
New revision for dev build 2021-10-15 16:58:03 -04:00