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