This tests removing the start block. WebKit should not crash.
| <progress>
|   <script>
|     src="../../resources/dump-as-markup.js"
|   <script>
|     "

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

document.designMode="on";
document.execCommand("selectall");
document.execCommand("justifycenter",false);
document.body.removeChild(document.body.firstElementChild);
document.execCommand("insertparagraph");

Markup.description("This tests removing the start block. WebKit should not crash.");
Markup.dump(document.body);

"
| <div>
|   <br>
| <div>
|   <#selection-caret>
|   <br>
