| <!DOCTYPE html> | |
| <html> | |
| <body> | |
| <script src="../../fast/js/resources/js-test-pre.js"></script> | |
| <script src="../../fast/dom/resources/event-sender-util.js"></script> | |
| <script src="../../fast/dom/shadow/resources/polyfill.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 = new WebKitShadowRoot(host); | |
| 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> | |
| <script src="../../fast/js/resources/js-test-post.js"></script> | |
| </body> | |
| </html> |