From 160d7f3c33b9880735246b023df12a5f87df08c4 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Sun, 6 Oct 2024 11:07:42 -0400 Subject: [PATCH] Improve `trusted-override-element-method` scriptlet Support `debug` as valid `disposition` value: to trigger a `debugger` statement, but only if uBO's logger is opened. Related feedback: https://github.com/uBlockOrigin/uAssets/issues/25510#issuecomment-2395446342 --- assets/resources/scriptlets.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/assets/resources/scriptlets.js b/assets/resources/scriptlets.js index 788354f92..e35757cfa 100644 --- a/assets/resources/scriptlets.js +++ b/assets/resources/scriptlets.js @@ -222,7 +222,7 @@ function safeSelf() { safe.sendToLogger = (type, ...args) => { const text = safe.toLogText(type, ...args); if ( text === undefined ) { return; } - console.log(`uBO${text}`); + safe.log(`uBO ${text}`); }; } return safe; @@ -5286,6 +5286,9 @@ function trustedOverrideElementMethod( } safe.uboLog(logPrefix, 'Overridden'); if ( disposition === '' ) { return; } + if ( disposition === 'debug' && safe.logLevel !== 0 ) { + debugger; // eslint-disable-line no-debugger + } if ( disposition === 'throw' ) { throw new ReferenceError(); }