<!DOCTYPE html>
<title>Permission API in fenced frames should always return denied</title>
<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="resources/utils.js"></script>
<script src="/common/utils.js"></script>

<body>
  <script>
    // See https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/permissions/permission_descriptor.idl for valid permission names.
    non_standard_permission_list =
      ['clipboard-read',
        'clipboard-write',
        'payment-handler',
        'idle-detection',
        'periodic-background-sync',
        'system-wake-lock',
        'storage-access',
        'window-management',
        'local-fonts'];

    non_standard_permission_list.forEach(function (permission_name) {
      promise_test(async t => {
        const permission_key = token();

        attachFencedFrame(generateURL(
          'resources/permission-api-denied-inner.html',
          [permission_key, permission_name]));
        const actual_result = await nextValueFromServer(permission_key);
        assert_equals(
          actual_result, 'result: denied',
          'permission API should return denied for ' + permission_name +
          ' in fenced frames.');
      });
    });
  </script>
</body>
