4 <script src=
"../../fast/dom/resources/event-sender-util.js"></script>
6 <div id=
"container" contenteditable
>
7 <table border=
"1" id=
"host" contenteditable
>
8 <tr><td>host
1</td></tr>
9 <tr><td>host
2</td></tr>
13 <p id=
"description">Selecting around a table which is distributed from shadow subtree to nested shadow subtree will trigger an assertion. To try manually, select from
"shadow 2" to around
"after" and confirm a crash does not occur.
</p>
16 if (window
.testRunner
)
17 testRunner
.dumpAsText();
19 var shadowRoot
= host
.createShadowRoot();
20 var div
= document
.createElement('div');
21 shadowRoot
.appendChild(div
);
22 div
.innerHTML
= "<table border='1'><tr><td>shadow 1</td></tr><tr><td id='src'>shadow 2</td></tr></table>";
24 var nestedShadowRoot
= div
.createShadowRoot();
25 nestedShadowRoot
.innerHTML
= "<div contenteditable>before<shadow></shadow>after</div>";
27 var src
= shadowRoot
.getElementById('src');
29 if (window
.eventSender
) {
30 eventSender
.mouseMoveTo(src
.offsetLeft
+ 10, src
.offsetTop
+ src
.offsetHeight
/ 2);
31 eventSender
.mouseDown();
32 eventSender
.mouseMoveTo(src
.offsetLeft
- 10, src
.offsetTop
+ src
.offsetHeight
/ 2);
33 eventSender
.mouseUp();
35 container
.innerHTML
= "PASS";
38 // When description comes before container, this test will not fail if code is wrong. So let's move here.
39 container
.parentNode
.insertBefore(description
, container
);