tor-browser

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

css-font-face.sub.html (1663B)


      1 <!DOCTYPE html>
      2 <!--
      3 [%provenance%]
      4 -->
      5 <html lang="en">
      6  <meta charset="utf-8">
      7  <title>HTTP headers on request for CSS font-face</title>
      8  <script src="/resources/testharness.js"></script>
      9  <script src="/resources/testharnessreport.js"></script>
     10  <script src="/fetch/metadata/resources/helper.sub.js"></script>
     11  <body>
     12  <script>
     13  'use strict';
     14 
     15  let count = 0;
     16 
     17  function induceRequest(t, url) {
     18    const id = `el-${count += 1}`;
     19    const style = document.createElement('style');
     20    style.appendChild(document.createTextNode(`
     21      @font-face {
     22        font-family: wpt-font-family${id};
     23        src: url(${url});
     24      }
     25      #el-${id} {
     26        font-family: wpt-font-family${id};
     27      }
     28    `));
     29    const div = document.createElement('div');
     30    div.setAttribute('id', 'el-' + id);
     31    div.appendChild(style);
     32    div.appendChild(document.createTextNode('x'));
     33    document.body.appendChild(div);
     34 
     35    t.add_cleanup(() => div.remove());
     36 
     37    return document.fonts.ready;
     38  }
     39 
     40  {%- for subtest in subtests %}
     41 
     42  promise_test((t) => {
     43    const key = '{{uuid()}}';
     44 
     45    return induceRequest(t, makeRequestURL(key, [% subtest.origins %]))
     46      .then(() => retrieve(key))
     47      .then((headers) => {
     48        {%- if subtest.expected == none %}
     49          assert_not_own_property(headers, '[%subtest.headerName%]');
     50        {%- else %}
     51          assert_own_property(headers, '[%subtest.headerName%]');
     52          assert_array_equals(headers['[%subtest.headerName%]'], ['[%subtest.expected%]']);
     53        {%- endif %}
     54      });
     55  }, '[%subtest.headerName%][%subtest.description | pad("start", " - ")%]');
     56 
     57  {%- endfor %}
     58  </script>
     59  </body>
     60 </html>