<html>
<head>
<link id="img" rel="stylesheet" href="resources/stylesheet304.php">
</head>
<body>
It's possible for a successful revalidation to cause events to fire synchronously.
We shouldn't crash if one of those events stops the load.
See https://bugs.webkit.org/show_bug.cgi?id=72762.
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

function obl(e) {
    if (window.sessionStorage.getItem("reloaded")) {
        window.stop();
        window.sessionStorage.removeItem("reloaded");
        setTimeout(finish, 0);
    } else {
        window.sessionStorage.reloaded = "true";
        location.reload();
    }
}

function finish() {
    if (window.testRunner)
        testRunner.notifyDone();
}
</script>
<object type="application/x-no-such-mime" onbeforeload="obl();"></embed>
</body>
</html>
