1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-09-04 18:19:38 +02:00
uBlock/platform/mv3/extension/js
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
..
scripting [mv3] Refactor content scripts related to specific cosmetic filtering 2023-06-03 22:08:42 -04:00
about.js Code maintenance: replace uDom.js with dom.js 2022-11-12 09:51:22 -05:00
background.js Create a MVP version of uBOLite for Firefox 2023-04-07 10:19:43 -04:00
dashboard-common.js Code maintenance: replace uDom.js with dom.js 2022-11-12 09:51:22 -05:00
dashboard.js Code maintenance: replace uDom.js with dom.js 2022-11-12 09:51:22 -05:00
ext.js [mv3] Add ability to enable/disable filter lists 2022-09-13 17:44:24 -04:00
fetch.js [mv3] Add support for specific cosmetic filtering 2022-09-15 13:14:08 -04:00
mode-manager.js Fix regression in handling mode changes 2023-05-20 17:21:14 -04:00
popup.js [mv3] Refactor content scripts related to specific cosmetic filtering 2023-06-03 22:08:42 -04:00
ruleset-manager.js [mv3] Refactor content scripts related to specific cosmetic filtering 2023-06-03 22:08:42 -04:00
scripting-manager.js [mv3] Refactor content scripts related to specific cosmetic filtering 2023-06-03 22:08:42 -04:00
settings.js [mv3] Refactor content scripts related to specific cosmetic filtering 2023-06-03 22:08:42 -04:00
storage.js [mv3] Add ability to enable/disable filter lists 2022-09-13 17:44:24 -04:00
theme.js Code maintenance: replace uDom.js with dom.js 2022-11-12 09:51:22 -05:00
utils.js [mv3] Refactor content scripts related to specific cosmetic filtering 2023-06-03 22:08:42 -04:00