- fix recursive item traversal, use traverseNextNode() instead of
the buggy hand-rolled traversal.
* khtml/xml/dom_nodeimpl.cpp:
(NodeListImpl::recursiveItem):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8042
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2004-11-18 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Chris.
+
+ - fix recursive item traversal, use traverseNextNode() instead of
+ the buggy hand-rolled traversal.
+
+ * khtml/xml/dom_nodeimpl.cpp:
+ (NodeListImpl::recursiveItem):
+
2004-11-17 Darin Adler <darin@apple.com>
Reviewed by Ken.
2004-11-17 Darin Adler <darin@apple.com>
Reviewed by Ken.
- NodeImpl *end = rootNode->nextSibling();
- while (n != 0 && n != end) {
if ( n->nodeType() == Node::ELEMENT_NODE ) {
if (nodeMatches(n)) {
if (!remainingOffset) {
if ( n->nodeType() == Node::ELEMENT_NODE ) {
if (nodeMatches(n)) {
if (!remainingOffset) {
- if (n->firstChild()) {
- n = n->firstChild();
- } else if (n->nextSibling()) {
- n = n->nextSibling();
- } else if (n->parentNode()) {
- n = n->parentNode()->nextSibling();
- } else {
- n = 0;
- }
+ n = n->traverseNextNode(rootNode);
}
return 0; // no matching node in this subtree
}
return 0; // no matching node in this subtree