<script>
if (window.layoutTestController)
     layoutTestController.dumpEditingCallbacks();
</script>
This tests to see that a caret is placed inside an editable document that is entirely editable even when no caret is requested programmatically.  We do this as a convenience.  Right now, we only do this convenience when a document's frame becomes first responder or when a document's window becomes key.
<script>
document.designMode = "on";
if (window.layoutTestController) {
    window.layoutTestController.waitUntilDone();
    window.layoutTestController.setMainFrameIsFirstResponder(false);
    window.layoutTestController.setMainFrameIsFirstResponder(true);
    window.layoutTestController.notifyDone();
}
</script>