<!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>
