chromium/third_party/blink/web_tests/fast/dom/shadow/drag-and-drop-in-user-agent-shadow.html

<!DOCTYPE html>
<script src="../../../resources/js-test.js"></script>
<script src="resources/shadow-dom.js"></script>
<div id="sandbox"></div>
<script>
description('Tests whether we can not start dragging a node in user agent shadow trees.');

sandbox.appendChild(
    createDOM('div', {'id': 'host', 'draggable': 'true'},
              createUserAgentShadowRoot({},
                                     createDOM('div', {'id': 'shadow-root-child'},
                                               document.createTextNode('Shadow Root Child')),
                                     createDOM('slot', {'name': 'user-agent-default-slot'}))));

var shadowRootChild = internals.shadowRoot(host).getElementById('shadow-root-child');
var dragstartCount = 0;

host.addEventListener('dragstart', function(e) {
    dragstartCount++;
}, false);

function dragAndDrop(element) {
    var rect = element.getBoundingClientRect();
    var x = rect.left + rect.width / 2;
    var y = rect.top + rect.height / 2;
    eventSender.mouseMoveTo(x, y);
    eventSender.mouseDown();
    eventSender.leapForward(400);
    eventSender.mouseMoveTo(x + 100, y + 100);
    eventSender.mouseUp();
}

document.body.offsetLeft;

if (window.eventSender) {
    dragAndDrop(shadowRootChild);
    shouldBe("dragstartCount", "1");
}
</script>