<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 inside an editable div element, and must result in the element receiving focus. If the test succeeds the element should have a focus ring.</p>
<script>
if (window.eventSender) {
    eventSender.moveTo(100, 45);
    eventSender.mouseDown();
    eventSender.mouseUp();
}
</script>
