Commit Graph

10136 Commits

Author SHA1 Message Date
Raymond Hill d992824625
Just to be sure no race condition
Related commit:
- d1f8a05d2d
2022-10-27 16:28:55 -04:00
Raymond Hill 545bb0787b
Make Firefox dev build auto-update 2022-10-27 16:11:34 -04:00
Raymond Hill df5197b0fe
New revision for dev build 2022-10-27 15:55:25 -04:00
Raymond Hill d1f8a05d2d
Further ensure scriptlets are actually injected
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/ye6abt/

Possibly because the Opera sidebar window is a special
case, it appears the scriptlets must be injected at a
later time.

Use a global isolated window variable to detect whether
the scriptlets have really be injected, and ultimately
inject them at main content script time when it is found
they haven't been injected at that point.
2022-10-27 15:52:03 -04:00
Raymond Hill 0a55767ea3
Make Firefox dev build auto-update 2022-10-27 14:31:23 -04:00
Raymond Hill aa21d77529
New revision for dev build 2022-10-27 14:19:54 -04:00
Raymond Hill bccd5a0264
Harden scriptlet injections
This commit make it so scriptlet injections will occur
at the earliest possible time on all platform.

This should also fix the case reported at:
- https://www.reddit.com/r/uBlockOrigin/comments/ye6abt/

Which is caused by the fact that there is no webNavigation
events being fired by the browser. In such case, the changes
here will make it so that uBO will detect that the scriptlet
were not injected and will inject them at main content script
injection time.
2022-10-27 14:16:21 -04:00
Raymond Hill 2d3d57fbc8
Use our own mirror for Easylist lists 2022-10-27 14:15:57 -04:00
Raymond Hill 2f646dbdb0
Pull reference Easylist assests from own repo 2022-10-24 12:37:04 -04:00
Raymond Hill ae5717ea72
Just use the already existing method 2022-10-24 09:30:29 -04:00
Raymond Hill 1ce59d205a
Add script to publish uBO Lite to CWS 2022-10-24 09:14:14 -04:00
Raymond Hill fb4059d11c
Add missing API method in neutered resource 2022-10-24 09:11:02 -04:00
Raymond Hill df7bedbe04
Return punycoded hostname in static extended filtering 2022-10-24 09:08:50 -04:00
q1800 08eb790145
Update support.html (#3876) 2022-10-21 14:17:18 -04:00
Raymond Hill 3d3ad0e386
Void elements (i.e. link) do not need self-closing slash
Ref.:
  https://html.spec.whatwg.org/multipage/syntax.html#void-elements
2022-10-21 12:17:37 -04:00
gorhill daa151f684 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-20 20:04:31 +00:00
Raymond Hill 433adac6ff
[mv3] Add ability to handle entity-based CSS and scriptlet injection filters
This commit adds the ability to inject entity-based plain CSS
filters and also a set of the most commonly used entity-based
scriptlet injection filters.

Since the scripting API is not compatible with entity patterns,
the entity-related content scripts are injected in all documents
and the entity-matching is done by the content script themselves.

Given this, entity-based content scripts are enabled only when
working in the Complete filtering mode, there won't be any
entity-based filters injected in lower modes.

Also, since there is no way to reasonably have access to the
Public Suffix List in the content scripts, the entity-matching
algorithm is an approximation, though I expect false positives
to be rare (time will tell). In the event of such false
positive, simply falling back to Optimal mode will fix the
issue.

The following issues have been fixed at the same time:

Fixed the no-filtering mode related rules having lower priority
then redirect rules, i.e. redirect rules would still be applied
despite disabling all filtering on a site.

Fixed improper detection of changes to the generic-related CSS
content script, potentially causing undue delays when for example
trying to access the popup panel while working in Complete mode.
The scripting MV3 can be quite slow when registering/updating
large content scripts, so uBOL does its best to call the API only
if really needed, but there had been a regression in the recent
builds preventing uBO from properly detecting unchanged content
script parameters.
2022-10-20 15:48:06 -04:00
Raymond Hill e84b374279
Partially revert fd945f3358 2022-10-19 18:17:39 -04:00
Raymond Hill 1655e88438
Make Firefox dev build auto-update 2022-10-19 12:21:07 -04:00
Raymond Hill 635b64153a
New revision for dev build 2022-10-19 12:13:35 -04:00
Raymond Hill 7ec59b09ac
Fix improperly detecting ruleset changes re. dynamic URL filtering
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2330\
2022-10-19 12:12:09 -04:00
Raymond Hill de1eeb0770
Make Firefox dev build auto-update 2022-10-19 11:46:15 -04:00
Raymond Hill 9a06ed4f48
New revision for dev build 2022-10-19 11:39:34 -04:00
Raymond Hill 9247072061
Import translation work from https://crowdin.com/project/ublock 2022-10-19 11:38:55 -04:00
Raymond Hill d027a3f7c4
Fix improperly detecting ruleset changes re. dynamic URL filtering
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2330
2022-10-19 11:37:11 -04:00
gorhill 37030ec0c9 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-18 20:23:00 +00:00
Raymond Hill 2e9cc65bea
Import translation work from https://crowdin.com/project/ublock 2022-10-18 16:19:21 -04:00
Raymond Hill 9879b7d03c
[mv3] Fix overwriting valid DNR rules with invalid entries
This fixes a flaw which has existed since the first version of
uBO Lite.

Related issue:
- https://github.com/uBlockOrigin/uBOL-issues/issues/11

Related commit:
- a559f5f271
2022-10-18 16:12:30 -04:00
gorhill d41b5ebe04 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-18 13:19:05 +00:00
Raymond Hill d79898a3c4
Fix asset name 2022-10-18 09:16:14 -04:00
Raymond Hill b4c63f6ae5
[mv3] Handle permissions being revoked while uBOL is disabled 2022-10-18 08:48:31 -04:00
Raymond Hill 8aa379ef9e
Fix argument-less :watch-attr() procedural operator
It's valid to have no argument for `:watch-attr()`.
2022-10-18 07:35:47 -04:00
Raymond Hill 44812dd3c0
[mv3] Salvage network rules with entity syntax in domain= option
It's possible to salvage network rule with entity syntax-based
entries in their `domain=` option if there exists at least one
entry which is not entity syntax-based.

For negated entries, these can be unconditionally removed
safely.
2022-10-17 17:41:13 -04:00
Raymond Hill 83b9ca5db6
Don't use github as cdn for EasyList/EasyPrivacy 2022-10-17 17:21:01 -04:00
Raymond Hill 943d052d83
Make Firefox dev build auto-update 2022-10-17 13:30:42 -04:00
Raymond Hill 9fd0ed0d92
New revision for dev build 2022-10-17 13:02:55 -04:00
gorhill 6ccdf31e44 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-17 12:41:43 +00:00
Raymond Hill 614e65a6a5
Import translation work from https://crowdin.com/project/ublock 2022-10-17 08:24:54 -04:00
gorhill c1640ece3c Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-17 12:20:06 +00:00
Raymond Hill fa21f97b68
[mv3] Use navigator.languages instead of i18n.getAcceptLanguages
Related issue:
- https://github.com/w3c/webextensions/issues/107
2022-10-17 08:13:48 -04:00
Raymond Hill d2cece5efe
Merge branch 'master' of https://github.com/gorhill/uBlock 2022-10-17 07:28:19 -04:00
Raymond Hill 04119e9cdd
Properly handle unsupported `nth-child(an of selector)
Related feedback:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2284#issuecomment-1280325910
2022-10-17 07:26:51 -04:00
gorhill c7715d56bd Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-16 17:30:52 +00:00
Raymond Hill 25b0a2c90c
[mv3] Use the most up-to-date version of lists 2022-10-16 13:27:43 -04:00
Raymond Hill 0dab55a400
Merge branch 'master' of https://github.com/gorhill/uBlock 2022-10-16 13:22:17 -04:00
Raymond Hill d22b4e9f71
[mv3] Revert attempt at fixing rules with entity-based syntax
This will need more careful analysis to properly address this.
2022-10-16 13:20:49 -04:00
gorhill 324ded8f47 Update build log file
Files changed:\nM	dist/mv3/log.txt
2022-10-16 16:20:18 +00:00
Raymond Hill 985ea24e82
[mv3] Add support for redirect= filters
This adds support for `redirect=` filters. As with `removeparam=`
filters, `redirect=` filters can only be enforced when the
default filtering mode is set to Optimal or Complete, since these
filters require broad host permissions to be enforced by the DNR
engine.

`redirect-rule=` filters are not supported since there is no
corresponding DNR syntax.

Additionally, fixed the dropping of whole network filters even though
those filters are still useful despite not being completely
enforceable -- for example a filter with a single (unsupported) domain
using entity syntax in its `domain=` option should not be wholly
dropped when there are other valid domains in the list.
2022-10-16 12:05:24 -04:00
Raymond Hill 5a9cd724ca
Add missing method to neutered api 2022-10-15 14:46:12 -04:00
Raymond Hill 1db3748ab1
[mv3] General code review
Re-arranged resources in a more tidy way. General code review of
various code paths.
2022-10-15 13:05:20 -04:00