<!DOCTYPE html>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="/feature-policy/resources/featurepolicy.js"></script>

<script>
  "use strict";

  const same_origin_src =
    "/feature-policy/resources/feature-policy-screen-wakelock.html";
  const cross_origin_src =
    "https://{{domains[www]}}:{{ports[https][0]}}" + same_origin_src;

  promise_test(async t => {
    await test_driver.set_permission(
        { name: 'screen-wake-lock' }, 'granted');
    await navigator.wakeLock.request('screen').then(lock => lock.release());
  }, 'Feature-Policy header screen-wake-lock "self" allows the top-level document.');

  async_test(t => {
    test_feature_availability(
      'navigator.wakeLock.request("screen")',
      t,
      same_origin_src,
      expect_feature_available_default
    );
  }, 'Feature-Policy header screen-wake-lock "self" allows same-origin iframes.');

  async_test(t => {
    test_feature_availability(
      'navigator.wakeLock.request("screen")',
      t,
      cross_origin_src,
      expect_feature_unavailable_default
    );
  }, 'Feature-Policy header screen-wake-lock "self" disallows cross-origin iframes.');
</script>
</body>
