From b0122bb9fce14dca6be9dedf29fc8619c97bc34c Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Fri, 2 Feb 2024 09:15:09 -0500 Subject: [PATCH] Do not rely on `vAPI` presence in logger broadcast code Related feedback: https://github.com/uBlockOrigin/uBlock-issues/discussions/3096#discussioncomment-8339494 --- src/js/scriptlet-filtering.js | 8 ++------ src/js/scriptlets/scriptlet-loglevel-1.js | 5 ++--- src/js/scriptlets/scriptlet-loglevel-2.js | 5 ++--- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/js/scriptlet-filtering.js b/src/js/scriptlet-filtering.js index f23049257..c37b60fbd 100644 --- a/src/js/scriptlet-filtering.js +++ b/src/js/scriptlet-filtering.js @@ -175,9 +175,7 @@ const onScriptletMessageInjector = (( ) => { const parts = [ '(', function(name) { - if ( typeof vAPI !== 'object' ) { return; } - if ( vAPI === null ) { return; } - if ( vAPI.bcSecret ) { return; } + if ( self.uBO_bcSecret ) { return; } const bcSecret = new self.BroadcastChannel(name); bcSecret.onmessage = ev => { const msg = ev.data; @@ -189,14 +187,12 @@ const onScriptletMessageInjector = (( ) => { case 'object': if ( self.vAPI && self.vAPI.messaging ) { self.vAPI.messaging.send('contentscript', msg); - } else { - bcSecret.onmessage = null; } break; } }; bcSecret.postMessage('iamready!'); - vAPI.bcSecret = bcSecret; + self.uBO_bcSecret = bcSecret; }.toString(), ')(', 'bcSecret-slot', diff --git a/src/js/scriptlets/scriptlet-loglevel-1.js b/src/js/scriptlets/scriptlet-loglevel-1.js index 570b3ae27..bc5f4bb28 100644 --- a/src/js/scriptlets/scriptlet-loglevel-1.js +++ b/src/js/scriptlets/scriptlet-loglevel-1.js @@ -24,9 +24,8 @@ /******************************************************************************/ (( ) => { - if ( typeof vAPI !== 'object' || vAPI === null ) { return; } - if ( vAPI.bcSecret instanceof self.BroadcastChannel === false ) { return; } - vAPI.bcSecret.postMessage('setScriptletLogLevelToOne'); + if ( self.uBO_bcSecret instanceof self.BroadcastChannel === false ) { return; } + self.uBO_bcSecret.postMessage('setScriptletLogLevelToOne'); })(); diff --git a/src/js/scriptlets/scriptlet-loglevel-2.js b/src/js/scriptlets/scriptlet-loglevel-2.js index 9a619d93a..d8afefdcf 100644 --- a/src/js/scriptlets/scriptlet-loglevel-2.js +++ b/src/js/scriptlets/scriptlet-loglevel-2.js @@ -24,9 +24,8 @@ /******************************************************************************/ (( ) => { - if ( typeof vAPI !== 'object' || vAPI === null ) { return; } - if ( vAPI.bcSecret instanceof self.BroadcastChannel === false ) { return; } - vAPI.bcSecret.postMessage('setScriptletLogLevelToTwo'); + if ( self.uBO_bcSecret instanceof self.BroadcastChannel === false ) { return; } + self.uBO_bcSecret.postMessage('setScriptletLogLevelToTwo'); })();