diff --git a/src/js/element-picker.js b/src/js/element-picker.js index db763964e..07ac090bb 100644 --- a/src/js/element-picker.js +++ b/src/js/element-picker.js @@ -158,6 +158,18 @@ try { /******************************************************************************/ +var safeQuerySelectorAll = function(node, selector) { + var nodeList; + try { + nodeList = node.querySelectorAll(selector); + } catch (e) { + nodeList = []; + } + return nodeList; +}; + +/******************************************************************************/ + var pausePicker = function() { dialog.parentNode.classList.add('paused'); svgListening(false); @@ -354,7 +366,7 @@ var cosmeticFilterFromElement = function(elem, out) { // `nth-of-type`. It is preferable to use `nth-of-type` as opposed to // `nth-child`, as `nth-of-type` is less volatile. var parentNode = elem.parentNode; - if ( parentNode !== null && parentNode.querySelectorAll(cssScope + selector).length > 1 ) { + if ( parentNode !== null && safeQuerySelectorAll(parentNode, cssScope + selector).length > 1 ) { i = 1; while ( elem.previousSibling !== null ) { elem = elem.previousSibling;