Commit Graph

11704 Commits

Author SHA1 Message Date
Raymond Hill 03ea001681
Minor 2023-12-03 16:26:05 -05:00
Raymond Hill ee83a4304a
Isolate DOM inspector layers from page context
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/1411

Additionally, refactored communication mechanism between content
script contexts and uBO contexts by using MessageChannel/BroadcastChannel
web APIs.
2023-12-03 16:21:32 -05:00
Raymond Hill 2c495487f1
Import translation work from https://crowdin.com/project/ublock 2023-12-02 12:59:05 -05:00
Raymond Hill 67fb969572
Refactoring: Replace DOM events with broadcast channels
Broadcast channels are more suited to uBO than DOM events to dispatch
notifications to different parts of uBO.

DOM events can only be dispatched to local context, broadcast channels
dispatch to all contexts (i.e. background process, workers, auxiliary
pages) -- this last behavior is better suited to uBO to communicate
internal changes to all potential listeners, not just those in the local
context.

Additionally, broadcasting to content scripts is now done through
tabs.sendMessage() instead of through potentially opened message
ports, this simplifies broadcasting to content scripts, and this
doesn't require to have long-lived message ports in content
scripts.
2023-12-01 14:35:28 -05:00
Raymond Hill c4de5552e5
Fix non-filter lists ending into selected lists at install time
Fortunately, getAvailableLists() filters out non-filter
list resources thus preventing those mistakenly selected
resources from being loaded as filter lists.
2023-12-01 12:03:54 -05:00
Raymond Hill ea7d411bc2
Support non-default sticky lists
"Sticky" lists are those which stay visible when collapsing
non-used lists in the "Filter lists" pane.
2023-12-01 08:31:28 -05:00
rajiv a8cf08325d
Add enableLazyLoad function
see https://developers.google.com/publisher-tag/reference#javascript_16

Fixes https://github.com/uBlockOrigin/uAssets/issues/20988
2023-12-01 02:20:40 -05:00
Raymond Hill c16fcc1105
Import translation work from https://crowdin.com/project/ublock 2023-11-29 16:19:23 -05:00
Raymond Hill a77c23c74f
[mv3] Improve and cleanup options page
Additionally, ensure the options page stay in sync with the
internal state of the extension.
2023-11-29 16:11:22 -05:00
Raymond Hill 554400f7bd
Import translation work from https://crowdin.com/project/ublock 2023-11-28 21:15:51 -05:00
Raymond Hill d7acad6c90
[mv3] Add textarea to list/edit trusted sites
Related issue:
https://github.com/uBlockOrigin/uBOL-home/issues/29
2023-11-28 21:13:44 -05:00
Raymond Hill 2bd2e6a079
Import translation work from https://crowdin.com/project/ublock 2023-11-28 21:10:29 -05:00
Raymond Hill 4f07df33a1
[mv3] Remove reference to nonexistent ruleset 2023-11-28 11:02:55 -05:00
Raymond Hill 430c578978
Import translation work from https://crowdin.com/project/ublock 2023-11-27 19:04:43 -05:00
Raymond Hill 5a33492b8d
Make Firefox dev build auto-update 2023-11-25 11:36:21 -05:00
Raymond Hill ccda6e0ee6
Update changelog 2023-11-25 11:27:06 -05:00
Raymond Hill 5a338b7210
Change frequency of save-to-storage blocking stats
In order to prepare for support of non-persistent background
process.
2023-11-25 11:22:26 -05:00
Raymond Hill 187c06fe01
New revision for dev build 2023-11-25 11:21:27 -05:00
Raymond Hill 6aeab2adbc
Improve `prevent-fetch` scriptlet
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2526

Improvements:

Support fulfilling the response with the content of a
`web_accessible_resources` resource, using the syntax already
supported by `prevent-xhr`: `war:[name of resource]`

Support fulfilling the response with randomized text with length
specified using `length:min[-max]` directive.
2023-11-25 11:13:57 -05:00
Raymond Hill 74f54d0633
Make Firefox dev build auto-update 2023-11-22 13:56:34 -05:00
Raymond Hill b40b1a0fb2
Update changelog 2023-11-22 13:44:37 -05:00
Raymond Hill d65c6fe4ef
New revision for dev build 2023-11-22 13:41:57 -05:00
Raymond Hill 9ce958432d
Catch cases of `! Expires:` field with no value 2023-11-22 13:40:49 -05:00
Raymond Hill bda46d5cc7
New version for stable release 2023-11-22 10:36:58 -05:00
Raymond Hill 5e2bee11b2
Remove obsolete workflow 2023-11-22 10:35:36 -05:00
Raymond Hill fb84cc3cbc
Forgot to save file before commit 2023-11-22 10:33:21 -05:00
Raymond Hill f546b4f91d
Update KOR-1 URL as per request 2023-11-22 10:32:14 -05:00
Raymond Hill 72a5914dab
Create draft release by default 2023-11-22 10:31:15 -05:00
Raymond Hill 9123563895
Make Firefox dev build auto-update 2023-11-20 19:51:17 -05:00
Raymond Hill 9a5e661924
Update changelog 2023-11-20 19:46:51 -05:00
Raymond Hill 747191950e
New revision for release candidate 2023-11-20 19:40:00 -05:00
Raymond Hill c5724c1cce
Enable path for native `has()` selector in Firefox
Reference:
https://bugzilla.mozilla.org/show_bug.cgi?id=1858743
2023-11-20 19:38:18 -05:00
Raymond Hill c090ab1d1d
Make Firefox dev build auto-update 2023-11-20 13:31:33 -05:00
Raymond Hill d1f1c9d62b
New revision for release candidate 2023-11-20 13:20:47 -05:00
Raymond Hill f77481f740
Import translation work from https://crowdin.com/project/ublock 2023-11-20 12:47:49 -05:00
Raymond Hill e9cab80151
Fix untranslated "Filter lists" in dashboard 2023-11-20 12:36:01 -05:00
Raymond Hill 2da9f0b03f
[mv3] Ensure filters incompatible with DNR are properly reported 2023-11-18 10:46:25 -05:00
Raymond Hill 0c29374a72
Add `abp-resource:blank-mp4` alias for increased ABP compatibility 2023-11-18 10:04:52 -05:00
Raymond Hill a4f8ec6d54
Support AdGuard's `emptyArr`/`emptyObj` for increased compatibility
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2411
2023-11-17 09:28:23 -05:00
Raymond Hill bfb66297dd
Make Firefox dev build auto-update 2023-11-16 19:50:51 -05:00
Raymond Hill 27d2ac092c
New revision for release candidate 2023-11-16 17:17:24 -05:00
Raymond Hill dc6fbd2011
Update changelog 2023-11-16 17:15:39 -05:00
Raymond Hill 3fd2588650
Allow scriptlets to be injected in `about:blank`
Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2963
2023-11-16 17:07:48 -05:00
Raymond Hill c292a90b90
Fix faulty `as` vararg in `set-constant` scriptlet 2023-11-16 13:18:39 -05:00
Raymond Hill bd8a91ed3a
Add support to redirect to `noop.json`
There ar ea couple of AdGuard filters supporting this local
resource.

Reference:
https://github.com/AdguardTeam/Scriptlets/blob/master/wiki/about-redirects.md#noopjson
2023-11-16 09:54:21 -05:00
Dave Vandyke c1d8f5908d
More improvements to the google-ima shim script (#3908)
We have enabled the google-ima shim script again in the DuckDuckGo
Privacy Essentials browser extension, and found a couple more issues:
- Some websites set the enablePreloading[1] option, which should
  cause[2] the AdsManager.init() method to trigger the LOADED AdEvent
  to fire. If the event doesn't fire, those websites can get stuck
  waiting for the event forever.
- When AdsManager.start() method is called, a bunch of events are
  dispatched in order, to simulate ads loading, playing and
  finishing. There was a mistake in that logic though. The
  CONTENT_PAUSE_REQUESTED and CONTENT_RESUME_REQUESTED events[3]
  should fire as the ads start and finish respectively. By firing the
  latter early, and skipping the former, some websites got confused
  and tried to display ad overlays at the same time as playing their
  content, or didn't display they content at all.

1 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdsRenderingSettings#enablePreloading
2 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/preload#timing
3 - https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/reference/js/google.ima.AdEvent
2023-11-16 09:41:07 -05:00
Raymond Hill 8df6c3243c
Make Firefox dev build auto-update 2023-11-14 18:16:15 -05:00
Raymond Hill 5d4d745d45
New revision for release candidate 2023-11-14 18:03:28 -05:00
Raymond Hill dac320e396
Fix bad argument passing 2023-11-14 18:03:02 -05:00
Raymond Hill 0b871e6546
If response is 404, skip trying other CDNs
When there is a 404 response, in all likelihood other
CDNs will also return 404, no point pointlessly fetching
from others.
2023-11-14 17:39:48 -05:00