<script>
function test()
{
    if (!window.layoutTestController)
        return;

    layoutTestController.dumpAsText();
    layoutTestController.waitUntilDone();

    var element = document.getElementById("elem");
    element.focus();
    element.onchange();
}
function failed()
{
    document.getElementById("console").innerHTML = "blur event fired, FAILED!";
    window.location = 'resources/no-blur-result.html/#FAILED';
    layoutTestController.notifyDone();
}

</script>
<body onload="test();">
onblur should not fire if an element has focus when navigating away from the page<br>
<a href="rdar://problem/5326303">rdar://problem/5326303</a><br>
<select id="elem" onchange="window.location='resources/no-blur-result.html';" onblur="failed()">
<option>CHANGE ME</option>
<option>PICK ME</option>
</select>
<pre id=console>
</pre>
</body>
