tor-browser

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

internal-import-stylesheet.html (1694B)


      1 <!DOCTYPE html>
      2 <html>
      3  <head>
      4    <title>CSS integration - Child css from internal stylesheet</title>
      5    <script src="/resources/testharness.js"></script>
      6    <script src="/resources/testharnessreport.js"></script>
      7    <script src="/common/utils.js"></script>
      8    <!-- Common global functions for referrer-policy tests. -->
      9    <script src="/common/security-features/resources/common.sub.js"></script>
     10    <meta name="referrer" content="never">
     11  </head>
     12  <body>
     13    <p>Check that child css are loaded with the referrer and referrer policy
     14    from the internal stylesheet.</p>
     15 
     16    <div class="styled"></div>
     17 
     18    <script>
     19      promise_test(function(css_test) {
     20        let id = token();
     21        let url_prefix = location.protocol + "//www1." + location.hostname + ":" + location.port;
     22        let css_url = url_prefix + "/common/security-features/subresource/stylesheet.py?id=" + id + "&import-rule";
     23        let check_url = url_prefix + "/common/security-features/subresource/stylesheet.py" +
     24                        "?id=" + id + "&report-headers";
     25 
     26        let style = document.createElement("style");
     27        style.type = 'text/css';
     28        style.appendChild(document.createTextNode("@import url('" + css_url + "');"));
     29        document.head.appendChild(style);
     30        return timeoutPromise(css_test, 1000)
     31          .then(() => requestViaXhr(check_url))
     32          .then(function(message) {
     33              assert_own_property(message, "headers");
     34              assert_own_property(message, "referrer");
     35              assert_equals(message.referrer, css_url);
     36            });
     37      }, "Child css from internal stylesheet.");
     38    </script>
     39 
     40    <div id="log"></div>
     41  </body>
     42 </html>