<!DOCTYPE html>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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;

  async_test(t => {
    test_feature_availability(
      'navigator.wakeLock.request("screen")',
      t,
      same_origin_src,
      expect_feature_available_default,
      "screen-wake-lock"
    );
  }, 'Feature policy "screen-wake-lock" can be enabled in same-origin iframe using allow="screen-wake-lock" attribute');

  async_test(t => {
    test_feature_availability(
      'navigator.wakeLock.request("screen")',
      t,
      cross_origin_src,
      expect_feature_available_default,
      "screen-wake-lock"
    );
  }, 'Feature policy "screen-wake-lock" can be enabled in cross-origin iframe using allow="screen-wake-lock" attribute');
</script>
</body>
