<!DOCTYPE html>
<title>Test of Web Bluetooth API</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>
<script src="/common/dispatcher/dispatcher.js"></script>
<script src="/resources/testdriver-actions.js"></script>

<body>

<script>
promise_test(async () => {
  const frame = attachFencedFrameContext();
  await multiClick(10, 10, frame.element);
  const result = await frame.execute(async () => {
    try {
      await navigator.hid.getDevices();
      return 'HID getDevice succeeded';
    } catch(e) {
      if (e.name == 'SecurityError' &&
          e.message.includes(
          'Access to the feature "hid" is disallowed by permissions policy.')) {
        return 'HID getDevice failed';
      } else {
        return `HID getDevice failed with unknown error - ${e.name}: ${e.message}`;
      }
    }
  });
  assert_equals(result, 'HID getDevice failed',
                'HID getDevice must fail in a fenced frame.');
}, 'HID getDevice must fail in a fenced frame');
</script>

</body>
