blob: ab5033e12cde20727fb338ff0b0402325970b505 [file] [log] [blame]
<!doctype HTML>
<div id="container" style ="contain:style layout">
<div id="focusable" tabIndex="0">
Focusable div
</div>
</div>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
async_test((t) => {
async function focusNonActivatableTest() {
let acquire_promise = container.displayLock.acquire({ timeout: Infinity });
await acquire_promise;
t.step(() => assert_not_equals(document.activeElement, focusable));
focusable.focus();
t.step(() => assert_not_equals(document.activeElement, focusable));
focusActivatableTest();
}
async function focusActivatableTest() {
t.step(() => assert_not_equals(document.activeElement, focusable));
let acquire_promise = container.displayLock.acquire({ timeout: Infinity, activatable: true });
await acquire_promise;
focusable.focus();
t.step(() => assert_equals(document.activeElement, focusable));
t.done();
}
window.onload = function() {
requestAnimationFrame(() => requestAnimationFrame(focusNonActivatableTest));
};
}, "Testing focus and force layout on element with locked flat-tree ancestor");
</script>