Skip to content
  • darin@apple.com's avatar
    WebCore: · 7fca675f
    darin@apple.com authored
    2008-03-25  Darin Adler  <darin@apple.com>
    
            Reviewed by Anders.
    
            - fix http://bugs.webkit.org/show_bug.cgi?id=17252
              Acid3 test removing Nodes during NodeIterator walk fails (affects Acid3 test 2)
    
            Test: traversal/acid3-test-2.html
    
            * bindings/js/JSNodeIteratorCustom.cpp:
            (WebCore::JSNodeIterator::nextNode): Update since result is PassRefPtr.
            (WebCore::JSNodeIterator::previousNode): Ditto.
            * dom/NodeIterator.cpp:
            (WebCore::NodeIterator::nextNode): Changed result to PassRefPtr. Added code to
            track both the current candidate (which needs to move along to the next node
            if current node is deleted) and the current provisional result (passed to acceptNode,
            and needs to be returned even if it's deleted).
            (WebCore::NodeIterator::previousNode): Ditto.
            (WebCore::NodeIterator::nodeWillBeRemoved): Call updateForNodeRemoval for
            m_candidateNode as well as m_referenceNode.
            * dom/NodeIterator.h: Use PassRefPtr for return values.
    
    LayoutTests:
    
    2008-03-25  Darin Adler  <darin@apple.com>
    
            Reviewed by Anders.
    
            - test for http://bugs.webkit.org/show_bug.cgi?id=17252
              Acid3 test removing Nodes during NodeIterator walk fails (affects Acid3 test 2)
    
            * traversal/acid3-test-2-expected.txt: Added.
            * traversal/acid3-test-2.html: Added.
            * traversal/resources/acid3-test-2.js: Added.
            * traversal/resources/exception-forwarding.js: Removed bogus extra line of code.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@31303 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    7fca675f