function observerCallback(mutations) {
    var i, node;

    mutations.forEach(function(mutation) {
        for (i = 0; i < mutation.addedNodes.length; i++) {
            node = mutation.addedNodes[i];
            if (isForbiddenNode(node)) {
                // Should never operate on user-editable content
                continue;
            } else if (node.nodeType === 3) {
                // Replace the text for text nodes
                handleText(node);
            }  else {
                // Otherwise, find text nodes within the given node and replace text
                walk(node);
            }
        }
    });
}
// The callback used for the document body and title observers
The callback used for the document body and title observers
The callback used for the document body and title observers
function observerCallback(mutations) {
    var i, node;
    mutations.forEach(function(mutation) {
        for (i = 0; i < mutation.addedNodes.length; i++) {
            node = mutation.addedNodes[i];
            if (isForbiddenNode(node)) {
                continue;
            } else if (node.nodeType === 3) {
                handleText(node);
            }  else {
                walk(node);
            }
        }
    });
}
function observerCallback ( mutations ) { var i , node ; mutations . forEach ( function ( mutation ) { for ( i = 0 ; i < mutation . addedNodes . length ; i ++ ) { node = mutation . addedNodes [ i ] ; if ( isForbiddenNode ( node ) ) { continue ; } else if ( node . nodeType === 3 ) { handleText ( node ) ; } else { walk ( node ) ; } } } ) ; }
The callback used for the document body and title observers
The callback used for the document body and title observers
// Should never operate on user-editable content // Replace the text for text nodes // Otherwise, find text nodes within the given node and replace text