tor-browser

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

clear-cache-bfcache-partitioning.tentative.https.html (2084B)


      1 <!DOCTYPE html>
      2 <meta charset=utf-8>
      3 <meta name="timeout" content="long">
      4 <title>Clear-Site-Data: cache for bfcache</title>
      5 <script src="/resources/testharness.js"></script>
      6 <script src="/resources/testharnessreport.js"></script>
      7 <script src="/resources/testdriver.js"></script>
      8 <script src="/resources/testdriver-vendor.js"></script>
      9 <script src="support/clear-cache-helper.sub.js"></script>
     10 <script src="/common/dispatcher/dispatcher.js"></script>
     11 <script src="/common/utils.js"></script>
     12 <script src="/html/browsers/browsing-the-web/back-forward-cache/resources/helper.sub.js"></script>
     13 <script type="module">
     14 
     15 // cross-site: example.com (iframe: example.net) -> example.net (iframe example.net clear) -> in bfcache
     16 runBfCacheClearTest(
     17  {
     18    getUrlParams: {
     19      clear: "cache",
     20      crossSite: true,
     21    },
     22    targetOrigin: crossSiteOrigin,
     23    mode: "iframe",
     24    shouldBeCached: true,
     25    funcBeforeNavigation: async (url) => {
     26      await new Promise(resolve => {
     27        const iframe = document.createElement("iframe");
     28        iframe.src = url;
     29        document.body.appendChild(iframe);
     30        iframe.onload = resolve;
     31      });
     32    },
     33    argsBeforeNavigation: [crossSiteOrigin],
     34  },
     35  "BfCached document not be dropped when containing cross-site iframe and that cross-site received clear-cache header"
     36 );
     37 
     38 // same-site: www.example.com (iframe: www2.example.com) -> www2.example.com (iframe www2.example.com clear) -> bfcache entry gets cleared
     39 runBfCacheClearTest(
     40  {
     41    getUrlParams: {
     42      clear: "cache",
     43      subdomain: true,
     44    },
     45    targetOrigin: subdomainOrigin,
     46    mode: "iframe",
     47    shouldBeCached: false,
     48    funcBeforeNavigation: async (url) => {
     49      await new Promise(resolve => {
     50        const iframe = document.createElement("iframe");
     51        iframe.src = url;
     52        document.body.appendChild(iframe);
     53        iframe.onload = resolve;
     54      });
     55    },
     56    argsBeforeNavigation: [subdomainOrigin],
     57  },
     58  "BfCached document should be dropped when containing same-site iframe and that same-site received clear-cache header"
     59 );
     60 
     61 </script>