<!-- webkit-test-runner [ UsesBackForwardCache=true ] -->
<!DOCTYPE html>
<html>
<body>
<script src="../../resources/js-test-pre.js"></script>
<script>
description('Tests that removing a frame in a detached document after navigation does not cause a crash on navigating back');
window.jsTestIsAsync = true;

function removeFrameInChild()
{
    setTimeout(function() {
        testFrame.remove();
    }, 0);
}

window.addEventListener('load', function() {
    newWindow = open("resources/page-cache-window-with-iframe.html", "one");
    newWindow.onload = function () {
        newWindow.onload = null;
        otherWindowDocument = newWindow.document;
        testFrame = otherWindowDocument.getElementsByTagName("iframe")[0];
    }
}, false);
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>
