<!DOCTYPE html>
<html>
<head>
<style>
input:first-letter {
    color: blue;
}
</style>
<script>
if (window.testRunner)
    testRunner.waitUntilDone();
function test()
{
    var target = document.getElementById("target");
    target.focus();
    if (window.eventSender) {
        eventSender.keyDown("H");
        eventSender.keyDown("e");
        eventSender.keyDown("l");
        eventSender.keyDown("l");
        eventSender.keyDown("o");
        target.blur();
        testRunner.notifyDone();
    }
}
</script>
</head>
<body onload="test()">
    <input type="text" id="target" />
</body>
</html>
