blob: ef387ff5af60b6427fec0355da9e28ac9b48bdef [file] [log] [blame]
<!DOCTYPE html>
<script src="../../../resources/js-test.js"></script>
<button id="button1" autofocus></button>
<iframe srcdoc="
<div id='div1'>I shouldn't be here</div>
<input type=text></input>
<div id='div2'>I shouldn't be here either</div>
<script>
document.getElementById('div1').attachShadow({mode: 'open'});
document.getElementById('div2').attachShadow({mode: 'open'});
</script>
"></iframe>
<button id="button2"></button>
<script>
description('Tests whether focus can navigate between the two buttons by pressing tab twice.');
jsTestIsAsync = true;
var button1 = document.getElementById('button1');
var button2 = document.getElementById('button2');
var iframe = document.querySelector('iframe');
var iframeDocument;
var input;
document.querySelector('iframe').onload = function() {
iframeDocument = iframe.contentDocument;
input = iframeDocument.querySelector('input');
button1.focus();
eventSender.keyDown('\t');
shouldBe('document.activeElement', 'iframe');
shouldBe('iframeDocument.activeElement', 'input');
eventSender.keyDown('\t');
shouldBe('document.activeElement', 'button2');
button2.focus();
eventSender.keyDown('\t', ['shiftKey']);
shouldBe('document.activeElement', 'iframe');
shouldBe('iframeDocument.activeElement', 'input');
eventSender.keyDown('\t', ['shiftKey']);
shouldBe('document.activeElement', 'button1');
finishJSTest();
};
</script>