tor-browser

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

iframe-popup-same-origin-to-same-origin.https.html (2590B)


      1 <!doctype html>
      2 <meta charset=utf-8>
      3 <meta name=timeout content=long>
      4 <meta name="variant" content="?1-2">
      5 <meta name="variant" content="?3-4">
      6 <meta name="variant" content="?5-6">
      7 <meta name="variant" content="?7-8">
      8 <meta name="variant" content="?9-last">
      9 <script src=/resources/testharness.js></script>
     10 <script src=/resources/testharnessreport.js></script>
     11 <script src=/common/dispatcher/dispatcher.js></script>
     12 <script src=/common/get-host-info.sub.js></script>
     13 <script src=/common/subset-tests.js></script>
     14 <script src=/common/utils.js></script>
     15 <script src="resources/common.js"></script>
     16 <script src="resources/iframe-test.js"></script>
     17 
     18 <body>
     19 <script>
     20 
     21 // This document has COOP "same-origin". The popup has COOP "same-origin". Therefore there should
     22 // only be an opener and name if the frameOrigin and popupOrigin are same-origin with this document.
     23 [
     24  {
     25      "title": "same origin iframe, same origin popup",
     26      "iframeOrigin": SAME_ORIGIN,
     27      "popupOrigin": SAME_ORIGIN,
     28      "opener": "preserved"
     29  },
     30  {
     31      "title": "same site iframe, same origin popup",
     32      "iframeOrigin": SAME_SITE,
     33      "popupOrigin": SAME_ORIGIN,
     34      "opener": "noopener"
     35  },
     36  {
     37      "title": "cross origin iframe, same origin popup",
     38      "iframeOrigin": CROSS_ORIGIN,
     39      "popupOrigin": SAME_ORIGIN,
     40      "opener": "noopener"
     41  },
     42  {
     43      "title": "same origin iframe, same site popup",
     44      "iframeOrigin": SAME_ORIGIN,
     45      "popupOrigin": SAME_SITE,
     46      "opener": "severed"
     47  },
     48  {
     49      "title": "same site iframe, same site popup",
     50      "iframeOrigin": SAME_SITE,
     51      "popupOrigin": SAME_SITE,
     52      "opener": "noopener"
     53  },
     54  {
     55      "title": "cross origin iframe, same site popup",
     56      "iframeOrigin": CROSS_ORIGIN,
     57      "popupOrigin": SAME_SITE,
     58      "opener": "noopener"
     59  },
     60  {
     61      "title": "same origin iframe, cross origin popup",
     62      "iframeOrigin": SAME_ORIGIN,
     63      "popupOrigin": CROSS_ORIGIN,
     64      "opener": "severed"
     65  },
     66  {
     67      "title": "same site iframe, cross origin popup",
     68      "iframeOrigin": SAME_SITE,
     69      "popupOrigin": CROSS_ORIGIN,
     70      "opener": "noopener"
     71  },
     72  {
     73      "title": "cross origin iframe, cross origin popup",
     74      "iframeOrigin": CROSS_ORIGIN,
     75      "popupOrigin": CROSS_ORIGIN,
     76      "opener": "noopener"
     77  }
     78 ].forEach(variant => {
     79    subsetTest(
     80        iframe_test,
     81        `COOP: same-origin to popup COOP: same-origin via an iframe, with ${variant.title}`,
     82        variant.iframeOrigin,
     83        variant.popupOrigin,
     84        { coop: 'same-origin' },
     85        variant.opener);
     86 });
     87 </script>
     88 </body>