<html> <head> <script> if (window.layoutTestController) layoutTestController.dumpAsText(); function onLoad() { var theDiv = document.getElementById("theDiv"); var theAttrs = theDiv.attributes; var nameAttr = theAttrs.getNamedItem("name"); var nameAttrChildNodes = nameAttr.childNodes; var textNode = document.createTextNode("terday"); var unused = nameAttrChildNodes.length; nameAttr.appendChild(textNode); var name2Attr = theAttrs.getNamedItem("name2"); var name2AttrChildNodes = name2Attr.childNodes; var textNode2 = document.createTextNode("terday"); name2Attr.appendChild(textNode2); if (nameAttrChildNodes.length != name2AttrChildNodes.length) document.getElementById("result").innerHTML = "Failed: nameAttrChildNodes.length=" + nameAttrChildNodes.length + ", name2AttrChildNodes.length=" + name2AttrChildNodes.length; else document.getElementById("result").innerHTML = "Passed!!"; document.body.removeChild(document.getElementById("theDiv")); } </script> </head> <body onload="onLoad();"> <p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=19759">bug 19759</a>: ChildNodeList for an attribute node is not properly invalidated after appending a child.</p> <div id="theDiv" name="Yes" name2="Yes">Hello</div> <div id="result">Testing...</div> </body> </html>