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

function runTest(e)
{
    if (e.persisted) {
        if (window.testRunner)
            testRunner.notifyDone();
    } else {
        // Navigate using a timeout to make sure we generate a history entry that we can go back to.
        setTimeout(() => { location.href = "data:text/html,<script>history.back()</" + "script>"; }, 0);
    }
}

window.onpageshow = runTest;
</script>
</head>
<body>
<div>PASS. You didn't crash.</div>
<object data="resources/subframe.html#dummy"  width="400" height="200" style="border: 1px solid black"></object>
</body>
</html>
