LayoutTests:
authorandersca <andersca@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 10 Aug 2007 23:49:13 +0000 (23:49 +0000)
committerandersca <andersca@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 10 Aug 2007 23:49:13 +0000 (23:49 +0000)
commit80d5108405733cdb27b5b4a0fa3a9eb8ca4a60a9
tree05fbb034487115695dd53c16ce6ee59d0025e578
parentb21ff5b3eaeb6853c2c850b250d76ab6517fa3e4
LayoutTests:

        Reviewed by Darin and Maciej.

        <rdar://problem/5360748>
        REGRESSION(r21002-r21003) Flash widget sniffer doesn't work (affects iWeb)

        Add test case by Kurt Revis.

        * fast/dom/NodeList/invalidate-node-lists-when-parsing-expected.txt: Added.
        * fast/dom/NodeList/invalidate-node-lists-when-parsing.html: Added.

WebCore:

        Reviewed by Darin and Maciej.

        <rdar://problem/5360748>
        REGRESSION(r21002-r21003) Flash widget sniffer doesn't work

        Add a per-document NodeList counter. When parsing, only call notifyNodeListsChildrenChanged
        if the document has node lists. Also, make sure to reset the cache when the node list count has
        been 0 and a new node list is registered to avoid any stale cache information.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::addChild):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        (WebCore::Document::addNodeList):
        (WebCore::Document::removeNodeList):
        (WebCore::Document::hasNodeLists):
        * dom/Node.cpp:
        (WebCore::Node::registerNodeList):
        (WebCore::Node::unregisterNodeList):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@25002 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/dom/NodeList/invalidate-node-lists-when-parsing-expected.txt [new file with mode: 0644]
LayoutTests/fast/dom/NodeList/invalidate-node-lists-when-parsing.html [new file with mode: 0644]
WebCore/ChangeLog
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/dom/ContainerNode.cpp
WebCore/dom/Document.cpp
WebCore/dom/Document.h
WebCore/dom/Node.cpp