1<html> 2<head> 3<link rel="stylesheet" href="/js/resources/js-test-style.css"> 4<script src="/js/resources/js-test-pre.js"></script> 5<script> 6 if (window.layoutTestController) { 7 layoutTestController.waitUntilDone(); 8 layoutTestController.dumpAsText(); 9 } 10 11 var dummyResolverCalled = false; 12 var foundNode; 13 function dummyResolver() { 14 dummyResolverCalled = true; 15 return "http://www.w3.org/1999/xhtml"; 16 } 17 18 function test() { 19 var iframe = document.createElement("iframe"); 20 document.body.appendChild(iframe); 21 var doc = iframe.contentWindow.document; 22 doc.open(); 23 doc.write("<html><body><div></div></body></html>"); 24 doc.close(); 25 document.body.removeChild(iframe); 26 foundNode = doc.evaluate("//dummyns:div", doc, dummyResolver, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; 27 28 testPassed("Did not crash."); 29 shouldBeTrue("dummyResolverCalled"); 30 shouldBe("foundNode.toString()", "\"[object HTMLDivElement]\""); 31 32 if (window.layoutTestController) 33 layoutTestController.notifyDone(); 34 } 35</script> 36</head> 37<body onload="test()"> 38<p>Ensure that using XPath namespace resolver with a detached iframe doesn't crash.</p> 39<div id="console"></div> 40</body> 41</html> 42