<body>
<style>
.blue {
  border: 2px solid blue;
}
</style>
<div class="blue" contenteditable></div>
<script>
import "../resources/event-sender.dart" as eventSender;
import "dart:sky";
import "package:mojo/services/input_events/public/interfaces/input_event_constants.mojom.dart";
import "package:mojo/services/input_events/public/interfaces/input_key_codes.mojom.dart";

void main() {
  var control = document.querySelector('.blue');
  control.focus();
  eventSender.keyDown(KeyboardCode_A);
  eventSender.keyDown(KeyboardCode_B);
  eventSender.keyDown(KeyboardCode_C);
  eventSender.keyDown(KeyboardCode_D);
  eventSender.keyDown(KeyboardCode_E);
  eventSender.keyDown(KeyboardCode_LEFT, EventFlags_SHIFT_DOWN);
  eventSender.keyDown(KeyboardCode_LEFT, EventFlags_SHIFT_DOWN);
  eventSender.keyDown(KeyboardCode_LEFT, EventFlags_SHIFT_DOWN);
  eventSender.keyDown(KeyboardCode_X);
  eventSender.done();
}
</script>
</body>
