<html>
<head>
<title>APNG reftest: when animation ends, compare its last frame against the reference static PNG.</title>
<script>
    if (window.testRunner)
        testRunner.dumpAsText(true);

    window.onload = function() {
        if (window.testRunner)
            testRunner.waitUntilDone();

        window.setTimeout(function() {
            if (window.testRunner)
                testRunner.notifyDone();
        }, 300);
    }
</script>
<style>
img { margin: 1px; }
</style>
</head>
<body style="margin: 1px">
<img src=resources/apng00.png><img src=resources/apng01.png><img src=resources/apng02.png><img src=resources/apng04.png><img src=resources/apng08.png><br>
<img src=resources/apng10.png><img src=resources/apng11.png><img src=resources/apng12.png><img src=resources/apng14.png><img src=resources/apng18.png><br>
<img src=resources/apng24.png><img src=resources/apng26.png>
</body>
</html>
