tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

requestStorageAccessFor.tentative.https.window.js (1229B)


      1 // META: script=/common/get-host-info.sub.js
      2 // META: script=/common/utils.js
      3 // META: script=/common/dispatcher/dispatcher.js
      4 // META: script=/html/cross-origin-embedder-policy/credentialless/resources/common.js
      5 // META: script=./resources/common.js
      6 
      7 setup(() => {
      8  assert_implements(document.requestStorageAccessFor,
      9    "requestStorageAccessFor is not supported.");
     10 })
     11 
     12 const requestStorageAccessFor = (iframe, origin) => {
     13  const reply = token();
     14  send(iframe, `
     15    try {
     16      await document.requestStorageAccessFor("${origin}");
     17      send("${reply}", "success");
     18    } catch {
     19      send("${reply}", "failed");
     20    }
     21  `);
     22  return receive(reply);
     23 }
     24 
     25 promise_test(async test => {
     26  const same_origin = window.origin;
     27  const iframe = newIframeCredentialless(same_origin);
     28  assert_equals(await requestStorageAccessFor(iframe, same_origin), "failed");
     29 }, "Same-origin credentialless iframe can't request storage access");
     30 
     31 promise_test(async test => {
     32  const cross_origin = get_host_info().HTTPS_REMOTE_ORIGIN;
     33  const iframe = newIframeCredentialless(cross_origin);
     34  assert_equals(await requestStorageAccessFor(iframe, cross_origin), "failed");
     35 }, "Cross-origin credentialless iframe can't request storage access");