blob: 280332ce588061571817d5c5bbeb3778a73b0cae [file] [log] [blame]
<script>
if (window.layoutTestController)
layoutTestController.dumpEditingCallbacks();
</script>
<style>
div {
border: 1px solid black;
margin: 2px;
}
</style>
<p>When ReplaceSelectionCommand deletes the current selection, it should request that the deletion do a merge in some cases (normally, though, it should ask that a merge not be done, because a merge will cause information about block nesting to be lost). It wasn't requesting a merge in cases where it should have.</p>
<p>The failing case is where the incoming fragment has more than one block, and the selection being pasted into ends at the end of a paragraph. Any time the selection being pasted into ends at the end of a paragraph, deleting will leave leave a) a br or b) an empty block at the end of the deleted selection. So, not merging will leave an extraneous empty line or a collapsed block after the paste operation.</p>
<div id="test" contenteditable="true"><div style="border: 1px solid red;">bar</div><div style="border: 1px solid blue;">bar<br></div></div>
<script>
var s = window.getSelection();
var e = document.getElementById("test");
s.setPosition(e, 0);
s.modify("move", "forward", "character");
s.modify("extend", "forward", "line");
s.modify("extend", "forward", "line");
document.execCommand("InsertHTML", false, "<div>foo</div><div>bar</div>");
</script>