uBlock/platform/mv3
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
..
chromium Create a MVP version of uBOLite for Firefox 2023-04-07 10:19:43 -04:00
description Import translation work from https://crowdin.com/project/ublock 2023-05-06 17:26:19 -04:00
extension [mv3] Refactor content scripts related to specific cosmetic filtering 2023-06-03 22:08:42 -04:00
firefox Fix mv3 builds 2023-04-11 09:35:31 -04:00
scriptlets [mv3] Refactor content scripts related to specific cosmetic filtering 2023-06-03 22:08:42 -04:00
make-rulesets.js [mv3] Refactor content scripts related to specific cosmetic filtering 2023-06-03 22:08:42 -04:00
make-scriptlets.js [mv3] Extend scriplet filtering support to all scriptlets 2023-06-02 17:04:15 -04:00
package.json Add experimental mv3 version 2022-09-06 13:47:52 -04:00
scriptlet.template.js [mv3] Refactor content scripts related to specific cosmetic filtering 2023-06-03 22:08:42 -04:00