<!DOCTYPE html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<iframe id=iframe srcdoc="
<style>
.c:hover { display: block; }
.c { content: attr(class); width: 400px; height: 400px; }
</style>
<body id=body>
    <select id=target autofocus=autofocus size=2 class=c></select>
</body>"></iframe>
<script>
var testObj;
function moveGesture() {
    eventSender.mouseMoveTo(200, 51);
    eventSender.mouseUp();
    testObj.done();
}
function reloadIframe() {
    iframe.contentWindow.location.reload();
    setTimeout(moveGesture, 50);
}
function go(test) {
  testObj = test;
  if (window.eventSender) {
    eventSender.mouseMoveTo(200, 50);
    eventSender.mouseDown();
    setTimeout(reloadIframe, 0);
  } else {
    test.done();
  }
}

async_test(go);
</script>
