<html>
<head>
<script>
function test()
{
if (window.layoutTestController) {
layoutTestController.dumpAsText();
layoutTestController.waitUntilDone();
}
window.crash = "crash";
delete window.crash;
if (window.navigationController)
navigationController.evalAfterBackForwardNavigation("continueTestAfterNavigation()");
}
function continueTestAfterNavigation()
{
print("PASS: You didn't crash");
if (window.layoutTestController)
layoutTestController.notifyDone();
}
function print(message) {
var paragraph = document.createElement("p");
paragraph.appendChild(document.createTextNode(message));
document.getElementById("console").appendChild(paragraph);
}
</script>
</head>
<body onload="test()">
<p>Bug: rdar://problem/4465598 REGRESSION (TOT): Crash occurs at http://maps.google.com/?output=html ( KJS::Identifier::add(KJS::UString::Rep*)</p>
<p>This cause for this bug was that the code to save the window object's property map tried to use
the deleted property sentinel key as a normal pointer.</p>
<p>To run this test in Safari:</p>
<ol>
<li><a href="resources/go-back.html">Click here to do a back/forward navigation.</a></li>
<li>You should not crash.</li>
</ol>
<p>When the automated version of this test passes, you'll see a PASS message below.
(The automated version is currently disabled because DumpRenderTree doesn't work
with the back/forward cache enabled.)</p>
<hr>
<div id="console"></div>
</body>
</html>