<script>
if (window.layoutTestController)
     layoutTestController.dumpEditingCallbacks();
</script>
<div style="width: 400px; height: 50px; padding: 25px 0 0 25px; background: yellow;"><div contenteditable="true" style="background: white; height:20px; width:100px"></div></div>
<p>This test clicks outside an editable div element, and must not result in the element receiving focus. If the test succeeds the element should not have a focus ring.</p>
<script>
if (window.eventSender) {
    eventSender.moveTo(225, 45);
    eventSender.mouseDown();
    eventSender.mouseUp();
}
</script>
