| <p>This tested for a crash when performing Range::extractContents on a range that has had the start or end removed from the document.</p> | |
| <p>It's now impossible to create a range like this, but at one point with an earlier version of WebKit, it was possible.</p> | |
| <div id="div" contenteditable="true">text <a href="http://www.apple.com/">link</a></div> | |
| <ul id="console"></ul> | |
| <script> | |
| function log(str) { | |
| var li = document.createElement("li"); | |
| li.appendChild(document.createTextNode(str)); | |
| var console = document.getElementById("console"); | |
| console.appendChild(li); | |
| } | |
| if (window.testRunner) | |
| window.testRunner.dumpAsText(); | |
| var div = document.getElementById("div"); | |
| var text = div.firstChild; | |
| var link = div.lastChild; | |
| var r = document.createRange(); | |
| r.setStart(text, 0); | |
| r.setEnd(link, 0); | |
| text.parentNode.removeChild(text); | |
| r.extractContents(); | |
| log("No crash means success!"); | |
| </script> |