<html>
<head>
<script>

function moveMouseToCenterOfElement(element)
{
    var centerX = element.offsetLeft + element.offsetWidth / 2;
    var centerY = element.offsetTop + element.offsetHeight / 2;
    eventSender.mouseMoveTo(centerX, centerY);
}

function test()
{
    if (window.testRunner)
        testRunner.dumpAsText();
    eventSender.beginDragWithFiles(["fakefile"]);
    moveMouseToCenterOfElement(document.getElementById("target"));
    eventSender.mouseUp();
}

</script>
</head>
<p>A crash reproducing test using DRT. The test passes if it doesn't crash.</p>
<body onload="test()">
<iframe id="target" src="resources/drop-file-svg.svg"></iframe>
</body>
</html>
