diff --git a/src/js/contentscript-end.js b/src/js/contentscript-end.js index 88726b406..72de45c68 100644 --- a/src/js/contentscript-end.js +++ b/src/js/contentscript-end.js @@ -470,13 +470,14 @@ var uBlockCollapser = (function() { if ( shadow !== null && shadow.className === sessionId ) { continue; } + // https://github.com/w3c/webcomponents/issues/102 // not all nodes can be shadowed try { shadow = elem.createShadowRoot(); + shadow.className = sessionId; } catch (ex) { - continue; + elem.style.setProperty('display', 'none', 'important'); } - shadow.className = sessionId; } }; diff --git a/src/js/contentscript-start.js b/src/js/contentscript-start.js index 279d234c2..7b4ca4c18 100644 --- a/src/js/contentscript-start.js +++ b/src/js/contentscript-start.js @@ -181,13 +181,14 @@ var hideElements = function(selectors) { if ( shadow !== null && shadow.className === sessionId ) { continue; } - // not all nodes can be shadowed - try { - shadow = elem.createShadowRoot(); - } catch (ex) { - continue; - } - shadow.className = sessionId; + // https://github.com/w3c/webcomponents/issues/102 + // not all nodes can be shadowed + try { + shadow = elem.createShadowRoot(); + shadow.className = sessionId; + } catch (ex) { + elem.style.setProperty('display', 'none', 'important'); + } } };