<!DOCTYPE html>
<meta charset="utf-8">
<title>screen wake lock will not be actived in hidden document</title>
<link rel="help" href="https://w3c.github.io/wake-lock/#dfn-requesting-the-wake-lock">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>

promise_test(async t => {
  const wakeLock = await navigator.getWakeLock("screen");
  const request = wakeLock.createRequest();
  assert_true(wakeLock.active, "the active is true when wake lock is acquired");
  const eventWatcher = new EventWatcher(t, document, "visibilitychange");
  const win = window.open("about:blank", "_blank");

  await eventWatcher.wait_for("visibilitychange");
  assert_true(document.hidden, "document is hidden when new window is opened");
  assert_false(wakeLock.active, "the active is false when document is hidden");
  win.close();

  await eventWatcher.wait_for("visibilitychange");
  assert_false(document.hidden, "document is visiable when new window is closed");
  assert_true(wakeLock.active, "the active is true when document regains visibility");
  request.cancel();
}, "Test that screen wake lock will not be actived in hidden document");

</script>
