tor-browser

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

helper_iframe.sub.html (2085B)


      1 <!doctype html>
      2 <meta charset='utf-8'>
      3 <link rel='author' href='jarrydg@chromium.org' title='Jarryd Goodman'>
      4 <script>
      5  'use strict';
      6 
      7  // Writing a cookie:
      8  //   Input: { cookieToSet: { name: 'cookie-name', value: 'cookie-value' } }
      9  //   Response: "Cookie has been set"
     10  //
     11  // Read a cookie.
     12  //   Command: { existingCookieName: 'cookie-name' }
     13  //   Response: Result of cookieStore.get('cookie-name'):
     14  //     { frameCookie: { name: 'cookie-name', value: 'cookie-value' } }
     15  window.addEventListener('message', async function (event) {
     16    const { opname } = event.data;
     17    if (opname === 'set-cookie') {
     18      const { name, value } = event.data
     19      await cookieStore.set({
     20        name,
     21        value,
     22        domain: '{{host}}',
     23      });
     24      event.source.postMessage('Cookie has been set', event.origin);
     25    } else if (opname === 'set-cookie-without-domain-attr') {
     26      const { name, value } = event.data
     27      await cookieStore.set({
     28        name,
     29        value,
     30      });
     31      event.source.postMessage('Cookie has been set', event.origin);
     32    } else if (opname === 'get-cookie') {
     33      const { name, options } = event.data
     34      const frameCookie = await cookieStore.get(name, options);
     35      event.source.postMessage({frameCookie}, event.origin);
     36    } else if (opname === 'delete-cookie-without-domain-attr') {
     37      const { name } = event.data
     38      await cookieStore.delete({name});
     39      event.source.postMessage('Cookie has been deleted', event.origin);
     40    } else if (opname === 'push-state') {
     41      history.pushState("foo", null, "some/path");
     42      event.source.postMessage('pushState called');
     43    } else if (opname === "set-host-cookie") {
     44      const { name, value } = event.data
     45      await cookieStore.set({
     46        name,
     47        value,
     48      });
     49      event.source.postMessage('Cookie has been set', event.origin);
     50    } else if (opname === "delete-host-cookie") {
     51      const { name} = event.data
     52      await cookieStore.delete({ name: name});
     53      event.source.postMessage('Cookie has been deleted', event.origin);
     54    }
     55  });
     56 </script>