| <!DOCTYPE html> |
| <html> |
| <body> |
| <p>This tests selecting content starting in one shadow tree and ending another shadow tree.<br> |
| To manually test, select "hello world" below by a mouse drag. WebKit should select the phrase.</p> |
| <div id="container"></div> |
| <script> |
| |
| const host1 = document.createElement('div'); |
| const shadowRoot1 = host1.attachShadow({mode: 'closed'}); |
| shadowRoot1.textContent = 'hello '; |
| |
| const host2 = document.createElement('div'); |
| const shadowRoot2 = host2.attachShadow({mode: 'closed'}); |
| shadowRoot2.textContent = 'world'; |
| container.append(host1, host2); |
| |
| if (window.eventSender) { |
| eventSender.dragMode = false; |
| eventSender.mouseMoveTo(container.offsetLeft - 2, container.offsetTop + 5); |
| eventSender.mouseDown(); |
| eventSender.mouseMoveTo(container.offsetLeft + container.offsetWidth - 5, container.offsetTop + container.offsetHeight - 5); |
| eventSender.mouseUp(); |
| if (getSelection().startContainer.getRootNode() != document) |
| document.write("The start container's root node was not the document"); |
| if (getSelection().endContainer.getRootNode() != document) |
| document.write("The end container's root node was not the document"); |
| 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.getRootNode() != document) |
| document.write("The range's end container's root node was not the document"); |
| } |
| |
| </script> |
| </body> |
| </html> |