<div>
    This tests that key events targeting a frame do not propagate up the frame tree.  This will only produce output if the test fails.
    <br />
    To test manually click in the empty frame and press any key. If you receive any output the test has failed.
</div>
<pre id="log"></pre>
<iframe id="targetFrame" src="data:text/html,"></iframe>
<script>
onkeydown=function(){document.getElementById("log").innerHTML += 'FAIL: outerFrame received keydown\n'; };
onkeypress=function(){document.getElementById("log").innerHTML += 'FAIL: outerFrame received keypress\n'; };
onkeyup=function(){document.getElementById("log").innerHTML += 'FAIL: outerFrame received keyup\n'; };
document.getElementById("targetFrame").focus();
if (window.testRunner) {
    testRunner.dumpAsText();
    eventSender.keyDown("a");
}
</script>
