<!doctype HTML>
<div id=start><br><br></div>
<div id=end></div>
<script>
    if (window.testRunner) {
        testRunner.waitUntilDone();
        testRunner.dumpAsText();
    }
    // crbug.com/409508: Crashes if we attempt to delete a node in the interval tree of floats while traversing it.
    var selection = window.getSelection();
    selection.setBaseAndExtent(start, 0, end, end.childNodes.length);
    if (window.testRunner)
        testRunner.notifyDone();
</script>
<style>
div,br {
    shape-outside: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'></svg>");
    float: left;
}
</style>
