tor-browser

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

shared-storage-writable-img-request-in-sandboxed-iframe-inner.https.sub.html (1117B)


      1 <!doctype html>
      2 <body>
      3  <script src=/resources/testharness.js></script>
      4  <script src=/shared-storage/resources/util.js></script>
      5  <script>
      6 
      7 async function init() {
      8  // Create image that sets (expectedKey, expectedValue) to shared storage
      9  // via response header.
     10  let {expectedKey, expectedValue} = parseExpectedKeyAndValueData();
     11  const imgSrc =
     12    `/shared-storage/resources/shared-storage-writable-pixel.png`
     13    + `?key=${expectedKey}&value=${expectedValue}`;
     14  let image = document.createElement('img');
     15  image.src = imgSrc;
     16  image.sharedStorageWritable = true;
     17 
     18  let parentOrOpener = window.opener || window.parent;
     19  const promise = new Promise((resolve, reject) => {
     20    image.addEventListener('load', () => {
     21      parentOrOpener.postMessage({sharedStorageImageLoadStatus: "success"}, "*");
     22      resolve();
     23    });
     24    image.addEventListener('error', () => {
     25      parentOrOpener.postMessage({sharedStorageImageLoadStatus: error}, "*");
     26      reject(error);
     27    });
     28  });
     29 
     30  // Navigate and wait for image load.
     31  document.body.appendChild(image);
     32  await promise;
     33 }
     34 
     35 init();
     36  </script>
     37 </body>