<html>
<head>
    <script>
        var swapped = false;
    
        if (window.layoutTestController)
            layoutTestController.waitUntilDone();
    
    
        function imageLoaded(image)
        {
            if (!swapped) {
                image.src = "resources/square-blue-100x100.png";
                swapped = true;
            } else if (window.layoutTestController)
                layoutTestController.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>
