Commit graph

11008 commits

Author SHA1 Message Date
gorhill
9801093117 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-06-04 15:46:39 +00:00
Raymond Hill
6dbbb95b04
[mv3] Mitigation: Inject CSS user styles to enforce cosmetic filtering
Related issues:
- https://github.com/uBlockOrigin/uBOL-issues/issues/5#issuecomment-1575425913
- https://github.com/w3c/webextensions/issues/403

Currently, there is no other way to inject CSS user styles than to
wake up the service worker, so that it can inject the CSS styles
itself using the `scripting.insertCSS()` method.

If ever the MV3 API supports injecting CSS user styles directly
from a content script, uBOL will be back to be fully declarative.

At this point the service worker is very lightweight since the
filtering is completely  declarative, so this is not too much of
an issue performance-wise except for the fact that waking up the
service worker for the sole purpose of injecting CSS user styles
and nothing else introduces a pointless overhead.

Hopefully the MV3 API will mature to address such inefficiency.
2023-06-04 11:32:55 -04:00
gorhill
e16bd1bbbb Update build log file
Files changed:
M	dist/mv3/log.txt
2023-06-04 02:12:03 +00:00
Raymond Hill
72726a4759
[mv3] Refactor content scripts related to specific cosmetic filtering
Specifically, avoid long list of hostnames for the `matches`
property[1] when registering the content scripts, as this was causing
whole browser freeze for long seconds in Chromium-based browsers
(reason unknown).

The content scripts themselves will sort out which cosmetic filters to
apply on which websites.

This change makes it now possible to support annoyances-related lists,
and thus two lists have been added:
- EasyList -- Annoyances
- EasyList -- Cookies

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

These annoyances-related lists contains many thousands of specific
cosmetic filters and as a result, before the above change this was
causing long seconds of whole browser freeze when simply modifying
the blocking mode of a specific site via the slider in the popup
panel.

It is now virtually instantaneous, at the cost of injecting larger
cosmetic filtering-related content scripts (which typically should
be garbage-collected within single-digit milliseconds).

Also, added support for entity-based cosmetic filters. (They were
previously discarded).

---

[1] https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/scripting/RegisteredContentScript
2023-06-03 22:08:42 -04:00
gorhill
ec230be331 Update build log file
Files changed:
M	dist/mv3/log.txt
2023-06-02 21:14:01 +00:00
Raymond Hill
b163097399
[mv3] Extend scriplet filtering support to all scriptlets
Source code of scriplets is now fetched directly from uBO
project, so there is no longer the need to keep duplicate
versions of scriplet code.

All scriplet filters are now supported.
2023-06-02 17:04:15 -04:00
Raymond Hill
cb9a91d43c
Fix comment 2023-06-01 08:56:42 -04:00
Raymond Hill
569465b393
Make Firefox dev build auto-update 2023-06-01 08:56:06 -04:00
Raymond Hill
0198d84f4a
New revision for release candidate 2023-06-01 08:49:54 -04:00
Raymond Hill
40141e2dfc
Fix assembling of scriptlets for isolated world 2023-06-01 08:48:27 -04:00
Raymond Hill
9b682dff03
Make Firefox dev build auto-update 2023-05-30 09:21:37 -04:00
Raymond Hill
f3b720d532
Improve href-sanitizer scriptlet 2023-05-30 09:13:46 -04:00
Raymond Hill
848c539a57
New revision for release candidate 2023-05-30 08:49:03 -04:00
Raymond Hill
56e1d92dbd
Fix/improve scriptlets
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/2678
- https://github.com/uBlockOrigin/uAssets/issues/18278
2023-05-30 08:38:35 -04:00
Raymond Hill
996bf0925d
Make Firefox dev build auto-update 2023-05-29 15:11:44 -04:00
Raymond Hill
c8c7ccdf80
New revision for release candidate 2023-05-29 15:06:14 -04:00
Raymond Hill
2a3a796d33
Minor fix 2023-05-29 15:05:50 -04:00
Raymond Hill
36346117ae
Make Firefox dev build auto-update 2023-05-29 15:01:24 -04:00
Raymond Hill
bbfad4eda2
New revision for release candidate 2023-05-29 14:54:38 -04:00
Raymond Hill
a1a3477b07
Fix oversight in last commit 2023-05-29 14:54:13 -04:00
Raymond Hill
9f5697c047
Make Firefox dev build auto-update 2023-05-29 14:46:34 -04:00
Raymond Hill
a63e52b987
New revision for release candidate 2023-05-29 14:38:25 -04:00
Raymond Hill
c8de904191
Add evaldata-prune scriptlet
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/18278
2023-05-29 14:37:02 -04:00
Raymond Hill
86d67e3f3e
Make Firefox dev build auto-update 2023-05-29 09:46:31 -04:00
Raymond Hill
5a242f462c
New revision for release candidate 2023-05-29 09:37:50 -04:00
Raymond Hill
c642541cc4
Minor fine tuning 2023-05-29 07:34:54 -04:00
Raymond Hill
f8a2a67cdf
Make Firefox dev build auto-update 2023-05-28 15:11:00 -04:00
Raymond Hill
b11208c010
New revision for dev build 2023-05-28 14:57:49 -04:00
Raymond Hill
3ee3275dc1
Harden addEventListener scriptlet 2023-05-28 14:56:31 -04:00
Raymond Hill
c7ddb2501b
Make Firefox dev build auto-update 2023-05-28 13:00:57 -04:00
Raymond Hill
252ea890ef
New revision for release candidate 2023-05-28 12:48:22 -04:00
Raymond Hill
fa9fdc0922
Import translation work from https://crowdin.com/project/ublock 2023-05-28 12:47:41 -04:00
Raymond Hill
695b93f970
Add support for world/dependencies to external scriplets
To let community better experiment with potential candidate scriptlets
for inclusion in uBO itself.
2023-05-28 12:42:47 -04:00
Raymond Hill
82eee10c3a
Logging-related changes 2023-05-28 10:37:23 -04:00
Raymond Hill
3c9e946107
Log error in dev console is logging is enabled 2023-05-27 19:05:02 -04:00
Raymond Hill
d776edf06b
Fix linter incorrectly reporting header= option
Related feedback:
- https://www.reddit.com/r/uBlockOrigin/comments/13thksi/filter_blocking_rule_based_on_post_methods_value/jlvhuoy/
2023-05-27 19:02:23 -04:00
Raymond Hill
45187077cf
Make Firefox dev build auto-update 2023-05-27 17:35:39 -04:00
Raymond Hill
83722829f4
New revision for dev build 2023-05-27 17:28:01 -04:00
Raymond Hill
8ed78cfb23
Support pruning by xpath in xml-prune scriptlet
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/18244
2023-05-27 17:26:19 -04:00
Raymond Hill
63273451c6
Make Firefox dev build auto-update 2023-05-27 09:25:44 -04:00
Raymond Hill
f1724c6deb
New revision for release candidate 2023-05-27 09:15:36 -04:00
Raymond Hill
d3fae27017
Add support for xhr in xml-prune
Related issue:
- https://github.com/uBlockOrigin/uAssets/issues/18244
2023-05-27 09:14:19 -04:00
Raymond Hill
ea15cef524
[mv3] Also log salvaged rules using entity-based domains
Some filters with entity-based domain option can be salvaged
when there are non-entity-based domain option, but since we are
throwing away the entity-based entries, we are only partially
converting to DNR. This commit will log a warning about this
in log.txt. Before this commit, only non-salvageable filters
were logged.
2023-05-26 13:18:20 -04:00
Raymond Hill
86ba04dd68
Make Firefox dev build auto-update 2023-05-25 09:35:55 -04:00
Raymond Hill
475ed98e02
New revision for dev build 2023-05-25 09:18:49 -04:00
Raymond Hill
2bb446797a
Add remove-node-text.js scriptlet
The scriptlet remove the *whole* text of a DOM node. Usage:

    example.com##+js(remote-node-text, nodeName, condition, ...)

Where `condition` is a pattern to find in the target node for the
removal to occur. Since the text of the node is wholly removed,
this is not a scriplet which requires a trusted-source, as it is
virtually a similar capability as removing DOM nodes through
procedural cosmetic operator `:remove()` (which can't target
`#text` nodes), which does not require trusted-source.

Alias: `rmnt`

The extra parameters are the same as those documented for
`replace-node-text`.

For consistency, the alias for `replace-node-text` has been renamed
`rpnt`.
2023-05-25 08:51:26 -04:00
Raymond Hill
1ff31e0ccd
Expand "uBlock filters" by default 2023-05-24 20:12:28 -04:00
Raymond Hill
9c56e9ab29
Make Firefox dev build auto-update 2023-05-24 16:56:25 -04:00
Raymond Hill
7150c32023
New revision for release candidate 2023-05-24 16:51:52 -04:00
Raymond Hill
796ebc2444
Fix spoof-css for Firefox 2023-05-24 16:50:34 -04:00