tor-browser

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

element-iframe.sub.html (1863B)


      1 <!DOCTYPE html>
      2 <!--
      3 [%provenance%]
      4 -->
      5 <html lang="en">
      6  <meta charset="utf-8">
      7  <title>HTTP headers on request for HTML "frame" element source</title>
      8  <script src="/resources/testharness.js"></script>
      9  <script src="/resources/testharnessreport.js"></script>
     10  {%- if subtests|selectattr('userActivated')|list %}
     11  <script src="/resources/testdriver.js"></script>
     12  <script src="/resources/testdriver-vendor.js"></script>
     13  {%- endif %}
     14  <script src="/fetch/metadata/resources/helper.sub.js"></script>
     15  <body>
     16  <script>
     17  'use strict';
     18 
     19  function induceRequest(url, test, userActivated) {
     20    const iframe = document.createElement('iframe');
     21 
     22    const setSrc = () => iframe.setAttribute('src', url);
     23 
     24    document.body.appendChild(iframe);
     25    test.add_cleanup(() => iframe.remove());
     26 
     27    return new Promise((resolve) => {
     28       if (userActivated) {
     29         test_driver.bless('enable user activation', setSrc);
     30       } else {
     31         setSrc();
     32       }
     33 
     34        iframe.onload = iframe.onerror = resolve;
     35      });
     36  }
     37 
     38  {%- for subtest in subtests %}
     39 
     40  promise_test((t) => {
     41    const key = '{{uuid()}}';
     42 
     43    return induceRequest(
     44        makeRequestURL(key, [% subtest.origins %], {mime: 'text/html'}),
     45        t,
     46        [%subtest.userActivated | default(false) | tojson%]
     47      )
     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", " - ")%][% " with user activation" if subtest.userActivated%]');
     58 
     59  {%- endfor %}
     60  </script>
     61  </body>
     62 </html>