<html>
<head>
<script>

function navigate()
{
    if (location.hash == "") {
        if (window.layoutTestController) {
            layoutTestController.overridePreference("WebKitUsesPageCachePreferenceKey", 1);
            layoutTestController.waitUntilDone();
        }

        history.pushState({ }, "", window.location + "#1");
        setTimeout("window.location.href = 'resources/empty-document-goes-back.html'", 0);
        return;
    }

    setTimeout(function () {
        if (window.layoutTestController)
            layoutTestController.notifyDone();
    }, 0);
}

</script>
</head>
<body style="width:800px" onpageshow="navigate();">
    <div id="result">This test passes if the iframe lays out and paints (meaning it is purple) after the test naviagtes back.</div><br/><br/>
    <iframe id="iframe" src="resources/simple-iframe.html"></iframe>
</body>
</htmL>
