<html>
<head>
<script>
function runTest() {
  window.testRunner.dumpAsText();

  var input = document.getElementById('i');
  eventSender.mouseMoveTo(input.offsetLeft + input.offsetWidth / 2, input.offsetTop + input.offsetHeight / 2);
  eventSender.mouseDown();
  eventSender.mouseUp();
}
window.onload = function() {
  var input = document.getElementById('i');
  input.onfocus = function(e) {
    document.body.innerHTML = 'PASS';
  }
  if (window.testRunner)
    runTest();
}
</script>
</head>
<body>
<input id="i" readonly>
</body>
</html>
