<!-- webkit-test-runner [ enablePageCache=true ] -->
<!DOCTYPE html>
<html>
<head>
<script>
    function done() {
        setTimeout(function () {
            if (window.testRunner)
                testRunner.notifyDone();
        }, 300);
    }

    function runTest() {
        if (location.hash == "") {
            if (window.testRunner)
                testRunner.waitUntilDone();

            history.pushState({ }, "", window.location + "#1");
            setTimeout("window.location.href = 'resources/history-back-for-pfd-test.html'", 0);

            // This is for WK2.
            done();
        } else {
            // This is for WK1.
            done();
        }
    }
</script>
</head>
<body onload='runTest();'>
    <!-- This tests if plugins from page cache show up after history navigation. -->
    <iframe src='../images/resources/green_rectangle.pdf'></iframe>
</body>
</html>
