<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd"> 
<html>
<head>


<script>
function step2() {
    var modifiers = ["altKey"];
    eventSender.keyDown("\t", modifiers);
    eventSender.keyDown("\t", modifiers);
    window.layoutTestController.notifyDone();
}

function foo() {
    if (!window.layoutTestController)
        return;
    
    window.layoutTestController.waitUntilDone();
    window.setTimeout('step2()', 100);
}


</script>

</head>
<body onload="foo()">
<frameset>
    <frame src="resources/frontpage.html">  <!-- A page containing a link -->
    <frame src="resources/notfound.html">	  <!-- A page that can't be found -->
</frameset>

</body>
</html>
