<!DOCTYPE html>
<html>
<body>
<script src="../../fast/dom/shadow/resources/polyfill.js"></script>
<script src="../../fast/dom/resources/event-sender-util.js"></script>

<div id="container" contenteditable>
    <table border="1" id="host" contenteditable>
        <tr><td>host 1</td></tr>
        <tr><td>host 2</td></tr>
    </table>
</div>

<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>

<script>
if (window.testRunner)
    testRunner.dumpAsText();

var shadowRoot = host.webkitCreateShadowRoot();
var div = document.createElement('div');
shadowRoot.appendChild(div);
div.innerHTML = "<table border='1'><tr><td>shadow 1</td></tr><tr><td id='src'>shadow 2</td></tr></table>";

var nestedShadowRoot = div.webkitCreateShadowRoot();
nestedShadowRoot.innerHTML = "<div contenteditable>before<shadow></shadow>after</div>";

var src = shadowRoot.getElementById('src');

if (window.eventSender) {
    eventSender.mouseMoveTo(src.offsetLeft + 10, src.offsetTop + src.offsetHeight / 2);
    eventSender.mouseDown();
    eventSender.mouseMoveTo(src.offsetLeft - 10, src.offsetTop + src.offsetHeight / 2);
    eventSender.mouseUp();

    container.innerHTML = "PASS";
}

// When description comes before container, this test will not fail if code is wrong. So let's move here.
container.parentNode.insertBefore(description, container);
</script>
</body>
</html>
