blob: bad22a231bcbfb8e332919faf3c3cbc6f46a6fa7 [file] [log] [blame]
<!DOCTYPE html>
<html>
<body>
<script src="../../resources/js-test.js"></script>
<script src="../../fast/dom/resources/event-sender-util.js"></script>
<p>This test confirms that selecting an element having Shadow DOM doesn't cross editing boundaries errornously.</p>
<div>
<div id="before">BEFORE</div>
<div id="host" contenteditable>HOST</div>
<div id="after">AFTER</div>
</div>
<pre id="console"></pre>
<script>
var shadowRoot = host.createShadowRoot();
shadowRoot.innerHTML = "SHADOW DOM";
var selection = shadowRoot.getSelection();
debug('Move mouse from BEFORE to HOST');
mouseMoveToElem(before);
eventSender.mouseDown();
mouseMoveToElem(host);
eventSender.mouseUp();
shouldBeNull('selection.anchorNode');
shouldBeNull('selection.focusNode');
// Check crash won't happen.
document.execCommand('delete');
debug('PASS document.execCommand("delete") did not crash.');
debug('');
debug('Move mouse from AFTER to HOST');
mouseMoveToElem(after);
eventSender.mouseDown();
mouseMoveToElem(host);
eventSender.mouseUp();
shouldBeNull('selection.anchorNode');
shouldBeNull('selection.focusNode');
// Check crash won't happen.
document.execCommand('delete');
debug('PASS document.execCommand("delete") did not crash.');
var successfullyParsed = true;
</script>
</body>
</html>