<script>
if (window.testRunner)
    testRunner.dumpAsText();

function runTest() {
    window.getSelection().setBaseAndExtent(start, 0, null, 0);
    document.execCommand("Indent");

    document.writeln('execCommand("Indent") was crashing if the top element to be formatted is actually not an element.<br>');
    document.writeln('The test has passed if it does not crash.<br><br>')
    document.writeln('PASS');
}
</script>
<body onLoad="runTest();">
    ><defs contenteditable="true" id="start">
        <rt>AAAAAAA0A0AAAA00
