<script>
if (window.testRunner)
     testRunner.dumpEditingCallbacks();
</script>
<p>This tests deletion of a selection that spans multiple cells.  Just table content should be removed, not table structure.</p>
<div id="test" contenteditable="true"><table border="1"><tr><td><div>These two pieces of text<span id="start">blah</span></div></td><td><div><span id="end">blah</span> should be in different cells.</div></td></tr></table>

<script>
var start = document.getElementById("start").firstChild;
var end = document.getElementById("end").firstChild;

var s = window.getSelection();
s.setBaseAndExtent(start, 0, end, end.length);
document.execCommand("Delete");
</script>
