From 0c8de6b55043dcaa2a1948bd9c2b81685f918b0b Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Mon, 24 Mar 2025 07:33:21 -0400 Subject: [PATCH] Fix `prevent-innerHTML` scriptlet --- src/js/resources/prevent-innerHTML.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/js/resources/prevent-innerHTML.js b/src/js/resources/prevent-innerHTML.js index e3d3b1f5b..587ea20ae 100644 --- a/src/js/resources/prevent-innerHTML.js +++ b/src/js/resources/prevent-innerHTML.js @@ -48,10 +48,10 @@ export function preventInnerHTML( const matcher = safe.initPattern(pattern, { canNegate: true }); const current = safe.Object_getOwnPropertyDescriptor(Element.prototype, 'innerHTML'); if ( current === undefined ) { return; } - const shouldPreventSet = a => { + const shouldPreventSet = (elem, a) => { if ( selector !== '' ) { - if ( typeof this.matches === 'function' === false ) { return false; } - if ( this.matches(selector) === false ) { return false; } + if ( typeof elem.matches !== 'function' ) { return false; } + if ( elem.matches(selector) === false ) { return false; } } return safe.testPattern(matcher, a); }; @@ -62,7 +62,7 @@ export function preventInnerHTML( : current.value; }, set: function(a) { - if ( shouldPreventSet(a) ) { + if ( shouldPreventSet(this, a) ) { safe.uboLog(logPrefix, 'Prevented'); } else if ( current.set ) { current.set.call(this, a);