<html>
<head>
    <script>
        if (window.testRunner)
            testRunner.waitUntilDone();

        function loadedFirstPart()
        {
            if (window.testRunner)
                setTimeout("testRunner.notifyDone()", 200);
        }
    </script>
</head>
<body>
    <p>
        Test for <i><a href="http://bugs.webkit.org/show_bug.cgi?id=13759">http://bugs.webkit.org/show_bug.cgi?id=13759</a>
        REGRESSION (r20182-r20184): Incorrect rendering of multipart images</i>.
    </p>
    <p>
        There should be a bright green square below.
    </p>
    <img width="100" height="100" src="resources/multipart.php?interval=0&img1=2x2-green.png&img2=abe.png" onload="loadedFirstPart()">
</body>
</html>
