From aceaea01227699a8c55d01877715d0c3d67658b5 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Thu, 14 Oct 2021 09:22:36 -0400 Subject: [PATCH] Minor code review --- assets/resources/scriptlets.js | 14 +++++++------- src/js/contentscript.js | 8 +++----- src/js/scriptlets/dom-inspector.js | 4 ++-- src/js/scriptlets/dom-survey-scripts.js | 4 +++- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/assets/resources/scriptlets.js b/assets/resources/scriptlets.js index b7af7c597..9aed2cd34 100644 --- a/assets/resources/scriptlets.js +++ b/assets/resources/scriptlets.js @@ -1534,27 +1534,27 @@ /// damoh-defuser.js (function() { - var handled = new WeakSet(); - var asyncTimer; - var cleanVideo = function() { + const handled = new WeakSet(); + let asyncTimer; + const cleanVideo = function() { asyncTimer = undefined; - var v = document.querySelector('video'); + const v = document.querySelector('video'); if ( v === null ) { return; } if ( handled.has(v) ) { return; } handled.add(v); v.pause(); v.controls = true; - var el = v.querySelector('meta[itemprop="contentURL"][content]'); + let el = v.querySelector('meta[itemprop="contentURL"][content]'); if ( el === null ) { return; } v.src = el.getAttribute('content'); el = v.querySelector('meta[itemprop="thumbnailUrl"][content]'); if ( el !== null ) { v.poster = el.getAttribute('content'); } }; - var cleanVideoAsync = function() { + const cleanVideoAsync = function() { if ( asyncTimer !== undefined ) { return; } asyncTimer = window.requestAnimationFrame(cleanVideo); }; - var observer = new MutationObserver(cleanVideoAsync); + const observer = new MutationObserver(cleanVideoAsync); observer.observe(document, { childList: true, subtree: true }); })(); diff --git a/src/js/contentscript.js b/src/js/contentscript.js index 69641037d..f2dcd1467 100644 --- a/src/js/contentscript.js +++ b/src/js/contentscript.js @@ -473,9 +473,7 @@ vAPI.injectScriptlet = function(doc, text) { } catch (ex) { } if ( script ) { - if ( script.parentNode ) { - script.parentNode.removeChild(script); - } + script.remove(); script.textContent = ''; } }; @@ -1171,11 +1169,11 @@ vAPI.DOMFilterer = class { // Look-up safe-only selectors to mitigate probability of // html/body elements of erroneously being targeted. const ids = [], classes = []; - if (document.documentElement !== null) { + if ( document.documentElement !== null ) { idFromNode(document.documentElement, ids); classesFromNode(document.documentElement, classes); } - if (document.body !== null) { + if ( document.body !== null ) { idFromNode(document.body, ids); classesFromNode(document.body, classes); } diff --git a/src/js/scriptlets/dom-inspector.js b/src/js/scriptlets/dom-inspector.js index 7db9b399a..d1d7d1693 100644 --- a/src/js/scriptlets/dom-inspector.js +++ b/src/js/scriptlets/dom-inspector.js @@ -264,7 +264,7 @@ const domLayout = (function() { continue; } // sibling - if (node instanceof Element) { + if ( node instanceof Element ) { if ( node.nextElementSibling === null ) { do { node = stack.pop(); @@ -549,7 +549,7 @@ const cosmeticFilterMapper = (function() { const reset = function() { roRedNodes.clear(); - if (document.documentElement !== null) { + if ( document.documentElement !== null ) { incremental(document.documentElement); } }; diff --git a/src/js/scriptlets/dom-survey-scripts.js b/src/js/scriptlets/dom-survey-scripts.js index 8d0a123df..0f0f5014b 100644 --- a/src/js/scriptlets/dom-survey-scripts.js +++ b/src/js/scriptlets/dom-survey-scripts.js @@ -74,7 +74,9 @@ } } - if ( surveyResults.scriptCount === -1 ) { + // https://github.com/uBlockOrigin/uBlock-issues/issues/1756 + // Mind that there might be no body element. + if ( surveyResults.scriptCount === -1 && document.body !== null ) { surveyResults.scriptCount = 0; const onHandlers = new Set([ 'onabort', 'onblur', 'oncancel', 'oncanplay',