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


<script>

function editingTest() {
    var elem = document.getElementById("end");
    x = elem.offsetLeft + elem.offsetWidth + 10;
    y = elem.offsetTop + 10;
    
    eventSender.mouseMoveTo(x, y);
    eventSender.mouseDown();
    eventSender.mouseUp();
    eventSender.mouseDown();
    eventSender.mouseUp();
}

</script>
</head>
<body>
<p>This tests double clicking inside and at the end of an editable div.  The selection that is created should not extend outside the editable region.</p>
<div contenteditable="true">This text is in an editable div<span id="end">.</span></div>

This text is outside the editable region.

</body>
<script>
editingTest();
</script>
</html>