<!DOCTYPE html>
<html>
<body>
<p>This test records target and relatedTarget at each element while dispatching a mouse click event at an input element.</p>
<div id="detailsContainer"><input id="target" type="file"></div>
<pre id="log"></pre>
<script src="resources/shadow-event-path-shared.js"></script>
<script>

var detailsContainer = document.getElementById('detailsContainer');
log('Content:' + detailsContainer.outerHTML + '\n');

if (window.testRunner && !window.eventSender)
    log('This test requires eventSender.');
else if (window.eventSender) {
    var target = document.getElementById('target');
    for (var x = -10; x <= 500; x += 10)
        eventSender.mouseMoveTo(target.offsetLeft + x, target.offsetTop + target.offsetHeight / 2);
}

</script>
</body>
</html>
