tor-browser

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

data-url-specifiers.sub.html (1600B)


      1 <!DOCTYPE html>
      2 <meta name="timeout" content="long">
      3 <script src="/resources/testharness.js"></script>
      4 <script src="/resources/testharnessreport.js"></script>
      5 <script src="resources/test-helper.js"></script>
      6 
      7 <script>
      8 // "bare/..." (i.e. without leading "./") are bare specifiers
      9 // (not relative paths).
     10 const importMap = `
     11 {
     12  "imports": {
     13    "bare": "./resources/log.js?pipe=sub&name=bare",
     14 
     15    "data:text/javascript,log.push('data:foo')": "./resources/log.js?pipe=sub&name=foo",
     16    "data:text/javascript,log.push('data:cross-origin-foo')": "https://{{domains[www1]}}:{{ports[https][0]}}/import-maps/resources/log.js?pipe=sub&name=cross-origin-foo",
     17    "data:text/javascript,log.push('data:to-data')": "data:text/javascript,log.push('dataURL')",
     18 
     19    "data:text/javascript,log.push('data:to-bare')": "bare"
     20  }
     21 }
     22 `;
     23 
     24 const tests = {
     25  // Arrays of expected results for:
     26  // - <script src type="module">,
     27  // - <script src> (classic script),
     28  // - static import, and
     29  // - dynamic import.
     30 
     31  // data: to HTTP(S).
     32  "data:text/javascript,log.push('data:foo')":
     33    [Result.URL, Result.URL, "log:foo", "log:foo"],
     34  "data:text/javascript,log.push('data:cross-origin-foo')":
     35    [Result.URL, Result.URL, "log:cross-origin-foo", "log:cross-origin-foo"],
     36 
     37  // data: to data:
     38  "data:text/javascript,log.push('data:to-data')":
     39    [Result.URL, Result.URL, "dataURL", "dataURL"],
     40 
     41  // data: to bare mapping is disabled.
     42  "data:text/javascript,log.push('data:to-bare')":
     43    [Result.URL, Result.URL, Result.PARSE_ERROR, Result.PARSE_ERROR],
     44 };
     45 
     46 doTests(importMap, null, tests);
     47 </script>
     48 <body>