From aafb85c6c62a8fa1e49a0499071cf846240d6d8f Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Sat, 20 Jan 2018 16:16:13 -0500 Subject: [PATCH] fix https://bugzilla.mozilla.org/show_bug.cgi?id=1392090#c18 --- src/js/contentscript.js | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/js/contentscript.js b/src/js/contentscript.js index f278a6a..e45ad5a 100644 --- a/src/js/contentscript.js +++ b/src/js/contentscript.js @@ -472,18 +472,29 @@ var collapser = (function() { meta.parentNode.removeChild(meta); }; + var morphNoscript = function(from) { + if ( document instanceof XMLDocument ) { + var to = document.createElement('span'); + while ( from.firstChild !== null ) { + to.appendChild(from.firstChild); + } + return to; + } + var parser = new DOMParser(); + var doc = parser.parseFromString( + '' + from.textContent + '', + 'text/html' + ); + return document.adoptNode(doc.querySelector('span')); + }; + var renderNoscriptTags = function(response) { if ( response !== true ) { return; } - var parser = new DOMParser(); - var doc, parent, span; + var parent, span; for ( var noscript of noscripts ) { parent = noscript.parentNode; if ( parent === null ) { continue; } - doc = parser.parseFromString( - '' + noscript.textContent + '', - 'text/html' - ); - span = document.adoptNode(doc.querySelector('span')); + span = morphNoscript(noscript); span.style.setProperty('display', 'inline', 'important'); if ( redirectTimer === undefined ) { autoRefresh(span);