tor-browser

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

element-video-poster.sub.html (1664B)


      1 <!DOCTYPE html>
      2 <!--
      3 [%provenance%]
      4 -->
      5 <html lang="en">
      6  <meta charset="utf-8">
      7  <title>HTTP headers on request for HTML "video" element "poster"</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    var video = document.createElement('video');
     26    video.setAttribute('poster', url);
     27    document.body.appendChild(video);
     28 
     29    const poll = () => {
     30      if (video.clientWidth === 123) {
     31        return;
     32      }
     33 
     34      return new Promise((resolve) => t.step_timeout(resolve, 0))
     35        .then(poll);
     36    };
     37    t.add_cleanup(() => video.remove());
     38 
     39    return poll();
     40  }
     41 
     42  {%- for subtest in subtests %}
     43 
     44  promise_test((t) => {
     45    const key = '{{uuid()}}';
     46 
     47    return induceRequest(t, makeRequestURL(key, [% subtest.origins %], params))
     48      .then(() => retrieve(key))
     49      .then((headers) => {
     50        {%- if subtest.expected == none %}
     51          assert_not_own_property(headers, '[%subtest.headerName%]');
     52        {%- else %}
     53          assert_own_property(headers, '[%subtest.headerName%]');
     54          assert_array_equals(headers['[%subtest.headerName%]'], ['[%subtest.expected%]']);
     55        {%- endif %}
     56      });
     57  }, '[%subtest.headerName%][%subtest.description | pad("start", " - ")%]');
     58 
     59  {%- endfor %}
     60  </script>
     61  </body>
     62 </html>