<!-- webkit-test-runner [ enablePageCache=true ] -->
<html>
<script>
window.finish = function()
{
    if (testRunner)
        testRunner.notifyDone();
}

window.log = function(message) {
     document.getElementById("result").innerHTML += message + "<br>";
}

window.failure = function(message) {
    log("FAIL: " + message);
    finish();
}

function test() {
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
        testRunner.setCanOpenWindows();
    }
    log("open page-1");
    window.open("resources/cached-page-1.html");
}
</script>

<body onload="test()">
If WebKit does not assert or crash, you passed.
<div id="result"></div>
</body>
</html>
