<html>
<head>
<script>

if (window.testRunner) {
    testRunner.waitUntilDone();
    testRunner.dumpAsText();
}

function done()
{
    document.getElementById("results").appendChild(document.createTextNode("PASS"));
    testRunner.notifyDone();
}

</script>
</head>
<body>
<p>
  This is a test for <a href="https://bugs.webkit.org/show_bug.cgi?id=25136">bug 25136</a>: <i>CRASH in DocumentLoader::removeSubresourceLoader
  due to null m_frame.</i> If successful, PASS should be printed below.
</p>
<p id="results" class="pass"></p>
<iframe style="border: 0" src="resources/frame-unload-crash-1.html">
</body>
</html>
