<html>
<head>
    <script>
        var swapped = false;
    
        if (window.testRunner)
            testRunner.waitUntilDone();
    
    
        function imageLoaded(image)
        {
            if (!swapped) {
                image.src = "resources/square-blue-100x100.png";
                swapped = true;
            } else if (window.testRunner)
                testRunner.notifyDone();
        }
    </script>
</head>
<body>
    <p>
        Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=9276">http://bugs.webkit.org/show_bug.cgi?id=9276</a>
        Quirksmode: Image swap resize bug</i>.
    </p>
    <p>
        This should be a blue 100&times;100 pixels square.
    </p>
    <img src="resources/rectangle-red-200x100.png" onload="imageLoaded(this)">
</body>
</html>
