tor-browser

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

preloader-template.html (1503B)


      1 <!doctype html>
      2 <script src="/resources/testharness.js"></script>
      3 <script src="/resources/testharnessreport.js"></script>
      4 <template>
      5  <script src="resources/dummy.js?in-template"></script>
      6  <link rel=stylesheet href="resources/dummy.css?in-template-1">
      7  <style>
      8    @import url("resources/dummy.css?in-template-2");
      9  </style>
     10 </template>
     11 <script>
     12  let t = async_test("Things inside templates are not preloaded");
     13  window.addEventListener("load", t.step_func(function() {
     14    let script = document.createElement("script");
     15    script.onload = t.step_func_done(function() {
     16      let entries = performance.getEntriesByType('resource');
     17      let found_outside_template = false;
     18      let found_in_template = [];
     19      for (let entry of entries) {
     20        if (entry.name.includes("outside-template")) {
     21          found_outside_template = true;
     22        }
     23        if (entry.name.includes("in-template")) {
     24          found_in_template.push(entry.name);
     25        }
     26      }
     27      assert_equals(found_in_template.length, 0, "Should not have preloaded stuff inside template element, got: " + found_in_template.join(", "));
     28      assert_true(found_outside_template, "Should have loaded script outside template element");
     29    });
     30    // The test is a bit racy because it expects that the first load ends
     31    // before this one. We try to make it the case via the tickle mechanism.
     32    script.src = "resources/dummy.js?outside-template&pipe=trickle(d1)";
     33    document.body.appendChild(script);
     34  }));
     35 </script>