blob: 23ca21af11e01f22aedffb4add4b88b30e7308b2 [file] [log] [blame]
<!DOCTYPE html>
<body>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../assert_selection.js"></script>
<script>
selection_test(
'<div id="host"><div></div>child text</div>',
selection => {
console.log(selection.document.documentElement.innerHTML);
const host = selection.document.querySelector('#host');
const shadowRoot = host.attachShadow({mode: 'closed'});
shadowRoot.innerHTML = '<span>shadow text</span>';
const shadowSelection = shadowRoot.getSelection();
const range = document.createRange();
range.selectNode(shadowRoot.firstChild);
shadowSelection.addRange(range);
host.textContent = '';
},
'<div id="host">^<span>shadow text</span>|</div>',
{dumpAs: 'flattree'},
'Removing light children of a hos element should not affect selection in ' +
'its shadow tree');
selection_test(
'<textarea id="host">abc^def\nghi|</textarea>',
selection => {
console.log(selection.document.documentElement.innerHTML);
const host = selection.document.querySelector('#host');
// Make the TEXTAREA dirty to avoid textContent affects the value.
eventSender.keyDown('j');
host.textContent = '';
},
'<textarea id="host">abcj|</textarea>',
'Removing light children of a TEXTAREA element should not affect its ' +
'selection');
</script>
</body>