| <!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> |
| promise_test(() => { |
| const acquirePromise = container.displayLock.acquire({ timeout: Infinity, activatable: true }); |
| return new Promise((resolve, reject) => { |
| const eventPromise = new Promise((resolve, reject) => { |
| container.onbeforeactivate = (e) => { |
| assert_equals(e.target, container); |
| assert_equals(e.activatedElement, focusable); |
| resolve(); |
| }; |
| }); |
| |
| acquirePromise.then(() => { |
| eventSender.keyDown("Tab", ["shiftKey"]); |
| eventPromise.then(() => { |
| assert_equals(document.activeElement, focusable); |
| resolve(); |
| }); |
| }); |
| }); |
| }, "Activating locked element through tabindex navigation fires beforeactivate, focuses element"); |
| </script> |