<p>This tests for a crash when triple-click/deleting the content in a list item that is at the end of the document, when there is a div with -webkit-user-select:none after the list item.</p>
<div id="div" contenteditable="true"><ul><li>One</li><li id="start">Two</li><span id="end" style="-webkit-user-select:none"><img src="../resources/abe.png"></span></ul></div>

<script>

if (window.testRunner)
    window.testRunner.dumpAsText();

var start = document.getElementById("start");
var end = document.getElementById("end");
var sel = window.getSelection();
sel.setBaseAndExtent(start, 0, end, 0);

sel.modify("extend", "forward", "paragraph");

document.execCommand("Delete");
</script>
