tor-browser

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

element-embed.sub.html (1537B)


      1 <!DOCTYPE html>
      2 <!--
      3 [%provenance%]
      4 -->
      5 <html lang="en">
      6  <meta charset="utf-8">
      7  <title>HTTP headers on request for HTML "embed" element source</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  const params = {
     16    body: `
     17      <svg xmlns="http://www.w3.org/2000/svg" width="123" height="123">
     18        <rect fill="lime" width="123" height="123"/>
     19      </svg>
     20    `,
     21    mime: 'image/svg+xml'
     22  };
     23 
     24  function induceRequest(t, url) {
     25    const embed = document.createElement('embed');
     26    embed.setAttribute('src', url);
     27    document.body.appendChild(embed);
     28 
     29    t.add_cleanup(() => embed.remove());
     30 
     31    return new Promise((resolve) => embed.addEventListener('load', resolve));
     32  }
     33 
     34  {%- for subtest in subtests %}
     35 
     36  promise_test((t) => {
     37    const key = '{{uuid()}}';
     38 
     39    return induceRequest(t, makeRequestURL(key, [% subtest.origins %], params))
     40      .then(() => retrieve(key))
     41      .then((headers) => {
     42        {%- if subtest.expected == none %}
     43          assert_not_own_property(headers, '[%subtest.headerName%]');
     44        {%- else %}
     45          assert_own_property(headers, '[%subtest.headerName%]');
     46          assert_array_equals(headers['[%subtest.headerName%]'], ['[%subtest.expected%]']);
     47        {%- endif %}
     48      });
     49  }, '[%subtest.headerName%][%subtest.description | pad("start", " - ")%]');
     50 
     51  {%- endfor %}
     52  </script>
     53  </body>
     54 </html>