blob: 2bb43dd13686655e5809833b92662eb2fce5d1f4 [file] [log] [blame]
<!DOCTYPE html>
<html>
<body>
<p>This tests selecting content starting in a shadow tree inside an editable region to the outside.<br>
To manually test, select "hello world" below by a mouse drag from the bottom right to the top left.<br>
WebKit should not extend the selection to the editable region outside the shadow tree.</p>
<div id="container" contenteditable>hello </div>
<script>
const host = document.createElement('div');
container.appendChild(host);
const shadowRoot = host.attachShadow({mode: 'closed'});
shadowRoot.textContent = 'world';
if (window.eventSender) {
eventSender.dragMode = false;
eventSender.mouseMoveTo(container.offsetLeft + container.offsetWidth - 5, container.offsetTop + container.offsetHeight - 5);
eventSender.mouseDown();
eventSender.mouseMoveTo(container.offsetLeft - 1, container.offsetTop - 5);
eventSender.mouseUp();
if (getSelection().startContainer.getRootNode() != document)
document.write("The start container's root node was not the document");
if (getSelection().startContainer != getSelection().endContainer)
document.write("The end container was different from the start container");
if (getSelection().getRangeAt(0).startContainer.getRootNode() != document)
document.write("The range's start container's root node was not the document");
if (getSelection().getRangeAt(0).endContainer != getSelection().getRangeAt(0).startContainer)
document.write("The range's end container was different from its start container");
}
</script>
</body>
</html>