0
Fork 0
mirror of https://github.com/fastmail/Squire.git synced 2024-12-22 07:13:08 -05:00

TreeWalker must not try to access parent of root node

This commit is contained in:
Neil Jenkins 2011-11-03 12:45:41 +11:00
parent 183091e4e1
commit c83688b630

View file

@ -76,15 +76,12 @@ TreeWalker.prototype.nextNode = function () {
while ( true ) {
node = current.firstChild;
while ( !node && current ) {
node = current.nextSibling;
if ( !node ) {
current = current.parentNode;
if ( current === root ) {
return null;
}
if ( current === root ) {
break;
}
node = current.nextSibling;
if ( !node ) { current = current.parentNode; }
}
if ( !node ) {
return null;
}
@ -93,7 +90,6 @@ TreeWalker.prototype.nextNode = function () {
this.currentNode = node;
return node;
}
current = node;
}
};
@ -105,7 +101,7 @@ TreeWalker.prototype.previousNode = function () {
filter = this.filter,
node;
while ( true ) {
if ( node === root ) {
if ( current === root ) {
return null;
}
node = current.previousSibling;
@ -116,12 +112,14 @@ TreeWalker.prototype.previousNode = function () {
} else {
node = current.parentNode;
}
if ( !node ) {
return null;
}
if ( ( typeToBitArray[ node.nodeType ] & nodeType ) &&
filter( node ) === FILTER_ACCEPT ) {
this.currentNode = node;
return node;
}
current = node;
}
};