blob: 67906729be91e8e5602d0d5eb60766972a17aaad [file] [log] [blame] [edit]
<head>
<style>
*:not(head):not(script):not(style) {
column-rule: solid;
column-span: all;
column-count: 44;
}
#elementID2 {
display: flex;
float: right;
-webkit-user-modify: read-write;
}
</style>
<script>
let selectSubtreeChangedCount = 0;
function test() {
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
elementID3.hidden = true;
elementID4.addEventListener("DOMSubtreeModified", selectSubtreeChanged);
mutateSubtree();
}
function mutateSubtree() {
getSelection().setBaseAndExtent(document.createElement("div"), 0, elementID6, 0);
elementID4.options.add(elementID5);
document.execCommand("subscript", false);
document.execCommand("insertText", false, "1");
}
function selectSubtreeChanged() {
selectSubtreeChangedCount++;
if (selectSubtreeChangedCount > 1) {
requestAnimationFrame(finish);
return;
}
requestAnimationFrame(mutateSubtree);
elementID2.prepend(String.fromCodePoint(0));
elementID4.length = 99;
elementID4.lastChild.appendChild(elementID6);
}
function finish() {
document.body.innerHTML = 'PASS if no crash.'
if (window.testRunner)
testRunner.notifyDone();
}
</script>
<body onload="test()">
<embed id="elementID1"></embed>
<div id="elementID2">
<div id="elementID3"></div>
<select id="elementID4">
<optgroup id="elementID5" tabindex="0"></optgroup>
</select>
</div>
<div id="elementID6"></div>
</body>