| OLD | NEW |
| (Empty) | |
| 1 <div id="container"> |
| 2 <p id="description"></p> |
| 3 <div id="sample"><span contenteditable="true">foobar</span></div> |
| 4 </div> |
| 5 <div id="console"></div> |
| 6 <script src="../../js/resources/js-test-pre.js"></script> |
| 7 <script> |
| 8 description('Range objects should be updated after set innerHTML.'); |
| 9 |
| 10 function $(id) { return document.getElementById(id); } |
| 11 |
| 12 var ranges = {}; |
| 13 function eventHandler(event) { |
| 14 if (ranges[event.type]) |
| 15 return; |
| 16 ranges[event.type] = document.createRange(); |
| 17 ranges[event.type].selectNodeContents(sample.firstChild.firstChild); |
| 18 } |
| 19 |
| 20 document.addEventListener('blur', eventHandler, true); |
| 21 document.addEventListener('DOMNodeRemovedFromDocument', eventHandler, true); |
| 22 |
| 23 $('sample').firstChild.focus(); |
| 24 $('sample').innerHTML = ''; |
| 25 |
| 26 shouldBe('ranges["blur"].startOffset', '0'); |
| 27 shouldBe('ranges["blur"].endOffset', '0'); |
| 28 shouldBe('ranges["DOMNodeRemovedFromDocument"].startOffset', '0'); |
| 29 shouldBe('ranges["DOMNodeRemovedFromDocument"].endOffset', '0'); |
| 30 |
| 31 if (window.testRunner) |
| 32 $('container').outerHTML = ''; |
| 33 </script> |
| 34 <script src="../../js/resources/js-test-post.js"></script> |
| OLD | NEW |