<html>
<script>
    function test() {
        if (window.testRunner) {
            testRunner.dumpAsText();
            testRunner.waitUntilDone();
        }
        setTimeout(test2, 0);
    }
    function test2() {
        document.getElementById('tf0').focus();
        eventSender.keyDown('a');
        if (window.testRunner)
            testRunner.notifyDone();
    }
    function log(msg) {
        var res = document.getElementById('res');
        res.innerHTML = res.innerHTML + msg + "<br>";
    }

</script> 
<body onload="test()">
    This tests that when the keydown event changes focus, the keypress event will go to the new focused node.<br>
    To run this test manually, type a character in the first field.<br>
    <input id="tf0" onkeydown="document.getElementById('tf1').focus()" onkeypress="log('Test Failed')">
    <input id="tf1" onkeypress="log('Test Passed')">
    <br>
    <div id="res"></div>
</body>
</html>
