<!DOCTYPE html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<input id="outer-before">
<object data="resources/plugin-focus-subframe.html" type="text/html" id="obj"></object>
<embed src="resources/plugin-focus-subframe.html" type="text/html" id="emb"></embed>
<input id="outer-after">
<script>
function PressTab() {
eventSender.keyDown('\t');
}
function PressShiftTab() {
eventSender.keyDown('\t', ['shiftKey']);
}
function testFocusNavigation() {
test(() => {
var before = document.querySelector('#outer-before');
var after = document.querySelector('#outer-after');
before.focus();
// 'plugin-focus-subframe.html' has 2 focus areas.
var expected = ['outer-before', 'obj', 'obj', 'emb', 'emb', 'outer-after'];
var i;
for (i = 0; i < 5; ++i) {
assert_equals(document.activeElement.id, expected[i]);
PressTab();
}
assert_equals(document.activeElement, after, '#after');
expected.reverse();
for (i = 0; i < 5; ++i) {
assert_equals(document.activeElement.id, expected[i]);
PressShiftTab();
}
assert_equals(document.activeElement, before, '#before');
}, "Focus should navigate to <option>/<embed>");
}
if (window.testRunner) {
window.addEventListener('load', testFocusNavigation, false);
}
</script>