blob: c1f3147605226784d739a8482ac2776b45568b0a [file] [log] [blame]
<!doctype html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../assert_selection.js"></script>
<script>
// It is a minimized testcase for a Clusterfuzz test. See crbug.com/345373
test(() => assert_selection(
[
'<style>',
'* { float:left; }',
'.class0 { content: url(); }',
'</style>',
'<ul class="class0">',
'<li id="r0"></li>',
'<li id="r1"></li>',
'</ul>',
'<hr>',
].join(''),
selection => {
let domNodeRemovedFireCount = 0;
selection.document.addEventListener('DOMNodeRemoved', (event) => {
if (domNodeRemovedFireCount >= 1)
return;
++domNodeRemovedFireCount;
const element = event.srcElement;
selection.document.execCommand('InsertOrderedList');
const parentElement = selection.document.getElementById('r1');
const childElement = parentElement.childNodes[0];
parentElement.insertBefore(element, childElement);
selection.document.execCommand('Undo');
selection.document.execCommand('Redo');
selection.document.execCommand('Outdent');
});
selection.document.designMode = 'on';
selection.document.execCommand('SelectAll');
const range = selection.getRangeAt(0);
const insertedElement = selection.document.getElementById('r0');
range.insertNode(insertedElement);
},
[
'<style>',
'* { float:left; }',
'.class0 { content: url(); }',
'</style>',
'<ul>',
'<li id="r1"></li>',
'</ul>',
'<ol><li><br></li></ol>',
'^<hr>|',
].join('')));
</script>