<body onload="test()">
<p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=31660">bug 31660</a>:
Image load event fires before the document fragment is attached.</p>
<div id=result>FAIL - script did not run</div>
<div id=target></div>
<!-- Preload an image, possibly making second load synchronous -->
<img src="resources/boston.gif" style="visibility:hidden">
<script>
if (window.testRunner) {
testRunner.waitUntilDone();
testRunner.dumpAsText();
}
function test()
{
// Parsing a fragment immediately triggers image load. This is true in WebKit and Firefox even
// if a fragment created with Range.createContextualFragment() does not get attached.
var r = document.createRange();
r.setStartAfter(document.body);
r.setEndAfter(document.body);
var frag = r.createContextualFragment('<img style="visibility:hidden" src="resources/boston.gif" onload="loaded()" id="new">');
document.getElementById("target").appendChild(frag);
}
function loaded()
{
// There is code on the Web expecting that an image is in the document by the time its load event fires.
document.getElementById("result").innerHTML = (document.getElementById("new")) ? "PASS" : "FAIL";
if (window.testRunner)
testRunner.notifyDone();
}
</script>
</body>