<!-- webkit-test-runner [ UsesBackForwardCache=true ] -->
<script>
    if (window.testRunner) {
        testRunner.waitUntilDone();
        testRunner.dumpAsText();
    }

    function runTest() {
        if (window.internals)
            internals.settings.setAnimatedImageDebugCanvasDrawingEnabled(true);

        var image = document.getElementById("image");
        var console = document.getElementById("console");            
        var context = document.getElementById("canvas").getContext("2d");

        image.style.visibility = "visible";

        context.drawImage(image, 0, 0);
        var frameOne = context.getImageData(0, 0, 1, 1).data;

        handle = window.setInterval(function() {
            context.drawImage(image, 0, 0);
            var frameTwo = context.getImageData(0, 0, 1, 1).data;

            // Compare RGBA of the two frames
            if (frameOne[0] == frameTwo[0]
                && frameOne[1] == frameTwo[1]
                && frameOne[2] == frameTwo[2]
                && frameOne[3] == frameTwo[3])
                return;

            window.clearInterval(handle);
            console.innerHTML = "<span style='color:green'>PASS</span>";
            if (window.testRunner)
                testRunner.notifyDone();
        }, 10);
    }

    onload = () => {
        setTimeout(() => {
            window.location = "../history/resources/page-cache-helper.html";
        }, 0);
    }

    window.onpageshow = function(event) {
        if (event.persisted)
            runTest();
    }
</script>
<p>Test that animated GIFs resume animating after restoring a page from the back forward cache. To test manually, click <a href="about:blank">here</a> to visit about:blank, then press the browser's back button. On success, you should see a square that continuously animates through various shades of green followed by the word 'PASS'.</p>
<img id="image" style="visibility:hidden" src="resources/animated-10color.gif">
<div id="console"></div>
<canvas id="canvas" style="visibility:hidden"><span style="color:red">FAIL</span></canvas>
