mirror of https://github.com/gorhill/uBlock.git
this addresses #693
This commit is contained in:
parent
06f7e3c711
commit
7177d8d0ff
|
@ -564,26 +564,28 @@ FilterContainer.prototype.reset = function() {
|
||||||
// https://github.com/chrisaljoudi/uBlock/issues/1004
|
// https://github.com/chrisaljoudi/uBlock/issues/1004
|
||||||
// Detect and report invalid CSS selectors.
|
// Detect and report invalid CSS selectors.
|
||||||
|
|
||||||
FilterContainer.prototype.div = document.createElement('div');
|
FilterContainer.prototype.isValidSelector = (function() {
|
||||||
|
var div = document.createElement('div');
|
||||||
|
|
||||||
// Not all browsers support `Element.matches`:
|
// Not all browsers support `Element.matches`:
|
||||||
// http://caniuse.com/#feat=matchesselector
|
// http://caniuse.com/#feat=matchesselector
|
||||||
|
if ( typeof div.matches !== 'function' ) {
|
||||||
|
return function() {
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
if ( typeof FilterContainer.prototype.div.matches === 'function' ) {
|
return function(s) {
|
||||||
FilterContainer.prototype.isValidSelector = function(s) {
|
|
||||||
try {
|
try {
|
||||||
this.div.matches(s);
|
// https://github.com/gorhill/uBlock/issues/693
|
||||||
|
div.matches(s + ',\n#foo');
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('uBlock> invalid cosmetic filter:', s);
|
console.error('uBlock> invalid cosmetic filter:', s);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
} else {
|
})();
|
||||||
FilterContainer.prototype.isValidSelector = function() {
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue