OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <body> | 3 <body> |
4 <p>This tests deleting a node in DOMCharacterDataModified doesn't result in a cr
ash.</p> | 4 <p>This tests deleting a node in DOMCharacterDataModified doesn't result in a cr
ash.</p> |
5 <div id="test" contenteditable></div> | 5 <div id="test" contenteditable></div> |
6 <script> | 6 <script> |
7 | 7 |
8 if (window.layoutTestController) | 8 if (window.layoutTestController) |
9 layoutTestController.dumpAsText(); | 9 layoutTestController.dumpAsText(); |
10 | 10 |
11 var test = document.getElementById('test'); | 11 var test = document.getElementById('test'); |
12 test.appendChild(document.createTextNode('a ')); | 12 test.appendChild(document.createTextNode('a ')); |
13 test.appendChild(document.createTextNode(' ')); | 13 test.appendChild(document.createTextNode(' ')); |
14 test.appendChild(document.createTextNode('b')); | 14 test.appendChild(document.createTextNode('b')); |
15 test.appendChild(document.createTextNode(' ')); | 15 test.appendChild(document.createTextNode(' ')); |
16 getSelection().setPosition(test.firstChild.nextSibling, 0); | 16 getSelection().setPosition(test.firstChild.nextSibling, 0); |
17 document.body.addEventListener('DOMCharacterDataModified', function () { | 17 document.body.addEventListener('DOMCharacterDataModified', function () { |
18 test.removeChild(test.firstChild.nextSibling); | 18 test.removeChild(test.firstChild.nextSibling); |
19 if (window.GCController) | 19 if (window.GCController) |
20 GCController.collect(); | 20 GCController.collect(); |
21 }, false); | 21 }, false); |
22 document.execCommand("InsertText", false, "c"); | 22 document.execCommand("InsertText", false, "c"); |
23 | 23 |
24 test.textContent = ''; | 24 test.textContent = ''; |
25 document.writeln('PASS'); | 25 document.writeln('PASS'); |
26 | 26 |
27 </script> | 27 </script> |
28 </body> | 28 </body> |
29 </html> | 29 </html> |
OLD | NEW |