Skip to content

Commit

Permalink
fix #2609
Browse files Browse the repository at this point in the history
  • Loading branch information
gorhill committed May 14, 2017
1 parent a97c5cd commit 8f42232
Showing 1 changed file with 17 additions and 19 deletions.
36 changes: 17 additions & 19 deletions src/js/contentscript.js
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ var platformHideNode = vAPI.hideNode,
var uid,
timer,
observer,
changedNodes = [],
changedNodes = new Set(),
observerOptions = {
attributes: true,
attributeFilter: [ 'style' ]
Expand All @@ -256,34 +256,33 @@ var platformHideNode = vAPI.hideNode,
// on sites which try to use inline styles to bypass blockers.
var batchProcess = function() {
timer.clear();
var cNodes = changedNodes, i = cNodes.length,
vNodes = [], j = 0,
node;
while ( i-- ) {
node = cNodes[i];
if ( node[uid] !== undefined && node.clientHeight && node.clientWidth ) {
vNodes[j++] = node;
var uid_ = uid;
for ( var node of changedNodes ) {
if (
node[uid_] === undefined ||
node.clientHeight === 0 || node.clientWidth === 0
) {
continue;
}
}
cNodes.length = 0;
while ( j-- ) {
node = vNodes[j];
var attr = node.getAttribute('style');
if ( !attr ) {
if ( attr === null ) {
attr = '';
} else {
} else if (
attr.length !== 0 &&
attr.charCodeAt(attr.length - 1) !== 0x3B /* ';' */
) {
attr += '; ';
}
node.setAttribute('style', attr + 'display: none !important;');
}
changedNodes.clear();
};

var observerHandler = function(mutations) {
var i = mutations.length,
cNodes = changedNodes,
j = cNodes.length;
changedNodes_ = changedNodes;
while ( i-- ) {
cNodes[j++] = mutations[i].target;
changedNodes_.add(mutations[i].target);
}
timer.start();
};
Expand All @@ -297,8 +296,7 @@ var platformHideNode = vAPI.hideNode,
node[uid] = node.hasAttribute('style') && (node.getAttribute('style') || '');
}
// Performance: batch-process nodes to hide.
var cNodes = changedNodes;
cNodes[cNodes.length] = node;
changedNodes.add(node);
timer.start();
if ( observer === undefined ) {
observer = new MutationObserver(observerHandler);
Expand Down

0 comments on commit 8f42232

Please sign in to comment.