| <!DOCTYPE html> |
| <style> |
| span { |
| float: left !important; |
| width: 0; |
| } |
| table { float: none !important; } |
| span:first-letter { color: green; } |
| </style> |
| |
| <script> |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| var DOMNodeRemoved_active = false; |
| var iteration = 0; |
| function DOMNodeRemoved() { |
| if (DOMNodeRemoved_active) return ; |
| DOMNodeRemoved_active = true; |
| |
| iteration += 1; |
| |
| var oElement = event.srcElement; |
| oElement.insertAdjacentHTML('afterend', "<svg id='svg'></svg>"); |
| oElement.contentEditable = "true"; |
| |
| var tref = document.createElementNS("http://www.w3.org/2000/svg", "tref") |
| tref.id = 'tref' + iteration; |
| oElement.appendChild(tref); |
| |
| var oSelection = window.getSelection(); |
| if (!oSelection.rangeCount) { |
| document.execCommand("SelectAll", false) |
| } |
| oSelection.collapseToStart(); |
| |
| var oRange = oSelection.getRangeAt(0); |
| if (iteration == 1) |
| var oParentElement = document.getElementById('table'); |
| else if (iteration == 2) |
| var oParentElement = document.getElementById('button'); |
| else if (iteration == 3) |
| var oParentElement = document.getElementById('tref2'); |
| oRange.surroundContents(oParentElement); |
| |
| document.execCommand('InsertText', false, 'a:ce#@::l'); |
| |
| DOMNodeRemoved_active = false; |
| } |
| document.addEventListener("DOMNodeRemoved", DOMNodeRemoved, true); |
| |
| window.onload = function() { |
| document.designMode = "on"; |
| |
| var oElement = document.getElementById('col'); |
| oElement.parentNode.replaceChild(document.createElementNS('http://www.w3.org/2000/svg', 'feSpecularLighting'), oElement); |
| |
| document.execCommand('InsertOrderedList', false, false); |
| var oElement = document.getElementById('svg'); |
| oElement.parentNode.replaceChild(document.createElementNS('http://www.w3.org/2000/svg', 'animateTransform'), oElement); |
| }; |
| </script> |
| |
| |
| <button id='button'></button> |
| <hr /> |
| <table id='table'> |
| <col id='col'></col> |
| </table> |
| Test passes if it does not CRASH. |