1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-10-04 16:47:15 +02:00

fix #3321: make uBO the bigger person and walk away from a pointless fight

This commit is contained in:
gorhill 2017-12-05 14:37:12 -05:00
parent e7d5c836d9
commit 88ce17561f
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2

View File

@ -34,6 +34,7 @@ if ( typeof vAPI === 'object' ) { // >>>>>>>> start of HUGE-IF-BLOCK
vAPI.userStylesheet = {
style: null,
styleFixCount: 0,
css: new Map(),
disabled: false,
apply: function() {
@ -47,7 +48,12 @@ vAPI.userStylesheet = {
var observer = new MutationObserver(function() {
if ( this.style === null ) { return; }
if ( this.style.sheet !== null ) { return; }
parent.appendChild(this.style);
this.styleFixCount += 1;
if ( this.styleFixCount < 32 ) {
parent.appendChild(this.style);
} else {
observer.disconnect();
}
}.bind(this));
observer.observe(parent, { childList: true });
},
@ -66,11 +72,13 @@ vAPI.userStylesheet = {
if ( cssRule === undefined ) { return; }
this.css.delete(cssText);
if ( this.style === null ) { return; }
var rules = this.style.sheet.cssRules,
var sheet = this.style.sheet;
if ( !sheet ) { return; }
var rules = sheet.cssRules,
i = rules.length;
while ( i-- ) {
if ( rules[i] !== cssRule ) { continue; }
this.style.sheet.deleteRule(i);
sheet.deleteRule(i);
break;
}
if ( rules.length !== 0 ) { return; }