| Index: LayoutTests/fast/dom/Range/range-created-during-remove-children.html
|
| diff --git a/LayoutTests/fast/dom/Range/range-created-during-remove-children.html b/LayoutTests/fast/dom/Range/range-created-during-remove-children.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..38c19a86b67e305ac88749c2587aa011f9ae0ee3
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/dom/Range/range-created-during-remove-children.html
|
| @@ -0,0 +1,34 @@
|
| +<div id="container">
|
| +<p id="description"></p>
|
| +<div id="sample"><span contenteditable="true">foobar</span></div>
|
| +</div>
|
| +<div id="console"></div>
|
| +<script src="../../js/resources/js-test-pre.js"></script>
|
| +<script>
|
| +description('Range objects should be updated after set innerHTML.');
|
| +
|
| +function $(id) { return document.getElementById(id); }
|
| +
|
| +var ranges = {};
|
| +function eventHandler(event) {
|
| + if (ranges[event.type])
|
| + return;
|
| + ranges[event.type] = document.createRange();
|
| + ranges[event.type].selectNodeContents(sample.firstChild.firstChild);
|
| +}
|
| +
|
| +document.addEventListener('blur', eventHandler, true);
|
| +document.addEventListener('DOMNodeRemovedFromDocument', eventHandler, true);
|
| +
|
| +$('sample').firstChild.focus();
|
| +$('sample').innerHTML = '';
|
| +
|
| +shouldBe('ranges["blur"].startOffset', '0');
|
| +shouldBe('ranges["blur"].endOffset', '0');
|
| +shouldBe('ranges["DOMNodeRemovedFromDocument"].startOffset', '0');
|
| +shouldBe('ranges["DOMNodeRemovedFromDocument"].endOffset', '0');
|
| +
|
| +if (window.testRunner)
|
| + $('container').outerHTML = '';
|
| +</script>
|
| +<script src="../../js/resources/js-test-post.js"></script>
|
|
|