<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.layoutTestController)
    window.layoutTestController.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>
