<html>
<head>
<script>
    function step2() {
        if (window.testRunner)
            testRunner.notifyDone();
    }
    function step1() {
        document.getElementById('replaceme').src = 'resources/gif-loop-count.gif';
        setTimeout("step2()", 200);
    }
    function test() {
        if (window.testRunner) {
            testRunner.waitUntilDone();
        }
        setTimeout("step1()", 200);
    }
</script>
</head>
<body onload="test()">
<img src="resources/gif-loop-count.gif" style="position:absolute;left:0;top:0">
<img src="resources/gif-loop-count.png" id="replaceme" style="position:absolute;left:0;top:0">
</body>
</html>
