<script>
    if (window.testRunner) {
        testRunner.dumpAsText()
        testRunner.waitUntilDone();
    }

    function finished()
    {
        document.getElementById('console').innerHTML = "The image size is: " + document.getElementById('result').width + "x" + document.getElementById('result').height;
        if (window.testRunner)
            testRunner.notifyDone();
    }
</script>
<div id="target">
    This test is making sure that even though the image returns a 404, it still gets loaded and displayed.  This is done for legacy compat reasons,
    and is the opposite of how the object element behaves.<br>
    <img id="result" src="resources/404image.php" onload="finished()" onerror="finished()">
</div>
<div id="console"></div>
