OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <body> | 3 <body> |
4 This test verifies that deleting DOM elements in a DOMSubtreeModified handler tr
iggered by and execCommand('bold') does not produce a crash. | 4 This test verifies that deleting DOM elements in a DOMSubtreeModified handler tr
iggered by and execCommand('bold') does not produce a crash. |
5 <div id="test" contenteditable style="border: 1px solid red"> | 5 <div id="test" contenteditable style="border: 1px solid red"> |
6 <b class="x" id="inlined"> | 6 <b class="x" id="inlined"> |
7 <u></u> | 7 <u></u> |
8 x | 8 x |
9 </b> | 9 </b> |
10 </div> | 10 </div> |
11 <script> | 11 <script> |
12 function treeModifiedHandler() | 12 function treeModifiedHandler() |
13 { | 13 { |
14 document.removeEventListener("DOMSubtreeModified", treeModifiedHandler, fals
e); | 14 document.removeEventListener("DOMSubtreeModified", treeModifiedHandler, fals
e); |
15 | 15 |
16 var b = document.getElementById("inlined"); | 16 var b = document.getElementById("inlined"); |
17 b.insertBefore(document.createTextNode(), b.firstChild); | 17 b.insertBefore(document.createTextNode(""), b.firstChild); |
18 | 18 |
19 var range = document.createRange(); | 19 var range = document.createRange(); |
20 range.setStart(b,0); | 20 range.setStart(b,0); |
21 range.setEnd(b,2); | 21 range.setEnd(b,2); |
22 range.deleteContents(); | 22 range.deleteContents(); |
23 document.body.appendChild(document.createTextNode("PASS")); | 23 document.body.appendChild(document.createTextNode("PASS")); |
24 } | 24 } |
25 | 25 |
26 function runtest() | 26 function runtest() |
27 { | 27 { |
28 var test = document.getElementById('test'); | 28 var test = document.getElementById('test'); |
29 window.getSelection().selectAllChildren(test); | 29 window.getSelection().selectAllChildren(test); |
30 | 30 |
31 document.execCommand('bold', false, null); | 31 document.execCommand('bold', false, null); |
32 document.addEventListener("DOMSubtreeModified", treeModifiedHandler, false); | 32 document.addEventListener("DOMSubtreeModified", treeModifiedHandler, false); |
33 document.execCommand('bold', false, null); | 33 document.execCommand('bold', false, null); |
34 } | 34 } |
35 | 35 |
36 if (window.testRunner) | 36 if (window.testRunner) |
37 testRunner.dumpAsText(); | 37 testRunner.dumpAsText(); |
38 | 38 |
39 runtest(); | 39 runtest(); |
40 </script> | 40 </script> |
41 </body> | 41 </body> |
42 </html> | 42 </html> |
OLD | NEW |