| <!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. |
| standard_permission_list = |
| ['geolocation', |
| 'notifications', |
| 'push', |
| 'midi', |
| 'camera', |
| 'microphone', |
| 'background-fetch', |
| 'background-sync', |
| 'persistent-storage', |
| 'ambient-light-sensor', |
| 'accelerometer', |
| 'gyroscope', |
| 'magnetometer', |
| 'screen-wake-lock', |
| 'nfc', |
| 'display-capture']; |
| |
| 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> |