uBlock/platform
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
..
browser Rewrite static filtering parser 2023-01-23 16:53:18 -05:00
chromium Report injected scriptlets in troubleshooting information 2023-05-09 12:44:14 -04:00
common Return string when storage.sync.get() promise fails 2023-05-16 19:26:46 -04:00
dig Fix filter list paths 2023-05-07 09:19:01 -04:00
firefox Fix https://github.com/uBlockOrigin/uBlock-issues/issues/2668 2023-05-23 21:49:42 -04:00
mv3 [mv3] Refactor content scripts related to specific cosmetic filtering 2023-06-03 22:08:42 -04:00
nodejs Rewrite static filtering parser 2023-01-23 16:53:18 -05:00
npm Fix npm dev dependencies -- this fixes "make test" 2022-12-14 10:55:02 -05:00
opera Reverse usage of browser.alarms 2023-04-26 08:00:13 -04:00
safari Clarify that the code base was really old and obsolete 2019-09-22 09:57:38 -04:00
thunderbird Fix thunderbird manifest 2023-04-27 21:50:44 -04:00