| 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 |