| <!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 = |
| ['accessibility-events', |
| '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> |