<html>
<head>
<script>
var result;
var pass1;
var pass2;
var pass3;
var exceptions;

    function blurIt() {
        pass1 = true;
        pass2 = true;
        pass3 = false;
        exceptions = "";
        try {
            document.getElementById('mydiv').focus();
            document.getElementById('mydiv').blur();
        } catch(e) {
            exceptions += "Exception: " + e + "\n";
            pass1 = false;
        }
        
        try {
            document.getElementById('result').blur();
        } catch(e) {
            exceptions += "Exception: " + e + "\n";
            pass2 = false;
        }
        
        if (pass1 && pass2 && pass3) {
            result = "Test Passed.";
        } else {
            result = "Test Failed.";
        }
        
        document.getElementById('result').innerHTML = result;
        document.getElementById('exc').innerHTML = exceptions;
    }
</script>
</head>
<body onload="blurIt()">
This test will try to call blur() on a contenteditable div, and then a normal div.
<div id="mydiv" onblur="pass3 = true;" style="border-style:solid" contenteditable>contentEditable div</div>
<div id="result"></div>
<div id="exc"></div>
</body>
</html>
