| // META: script=/common/get-host-info.sub.js |
| // META: script=/common/utils.js |
| // META: script=/common/dispatcher/dispatcher.js |
| // META: script=/html/cross-origin-embedder-policy/credentialless/resources/common.js |
| // META: script=./resources/common.js |
| |
| setup(() => { |
| assert_implements(document.hasStorageAccess, |
| "requestStorageAccess is not supported."); |
| }) |
| |
| const hasStorageAccess = (iframe) => { |
| const reply = token(); |
| send(iframe, ` |
| send("${reply}", await document.hasStorageAccess()); |
| `); |
| return receive(reply); |
| } |
| |
| promise_test(async test => { |
| const same_origin = window.origin; |
| const iframe = newIframeCredentialless(same_origin); |
| assert_equals(await hasStorageAccess(iframe), "false"); |
| }, "Same-origin credentialless iframe can't request storage access"); |
| |
| promise_test(async test => { |
| const cross_origin = get_host_info().HTTPS_REMOTE_ORIGIN; |
| const iframe = newIframeCredentialless(cross_origin); |
| assert_equals(await hasStorageAccess(iframe), "false"); |
| }, "Cross-origin credentialless iframe can't request storage access"); |