<!DOCTYPE html>
<html>
<body>
<p>This test passes if middle mouse clicking in the rectangle below does not crash.</p>
<iframe id="iframe" src='resources/selection-paste-crash.html'></iframe>
<script>
var iframe = document.getElementById("iframe");

function removeIframe()
{
    document.body.removeChild(iframe);
}

window.onload = function() {
    if (!window.testRunner || !window.eventSender)
        return;
    testRunner.dumpAsText();

    var x = iframe.offsetLeft + iframe.offsetWidth / 2;
    var y = iframe.offsetTop + iframe.offsetHeight / 2;
    eventSender.mouseMoveTo(x, y);
    eventSender.mouseDown(1);
    eventSender.mouseUp(1);
}
</script>
</body>
</html>