<html>
<head>
<script>
if (window.testRunner)
     testRunner.dumpEditingCallbacks();
</script>

    <script>
        function runTest() {
            var d = document.getElementById('d');
            window.getSelection().setBaseAndExtent(d, 0, d, 1);            
            window.getSelection().empty();
        }
    </script>
</head>
<body onload="runTest()">
    <div id="d">This tests that window.getSelection().clear() clears the selection correctly. If this test is successful, this text should not be selected.</div>
<body>
</html>
