tor-browser

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

audioworklet.https.sub.html (9023B)


      1 <!DOCTYPE html>
      2 <!--
      3 This test was procedurally generated. Please do not modify it directly.
      4 Sources:
      5 - fetch/metadata/tools/fetch-metadata.conf.yml
      6 - fetch/metadata/tools/templates/audioworklet.https.sub.html
      7 -->
      8 <html lang="en">
      9  <meta charset="utf-8">
     10  <title>HTTP headers on request for AudioWorklet module</title>
     11  <script src="/resources/testharness.js"></script>
     12  <script src="/resources/testharnessreport.js"></script>
     13  <script src="/resources/testdriver.js"></script>
     14  <script src="/resources/testdriver-vendor.js"></script>
     15  <script src="/fetch/metadata/resources/helper.sub.js"></script>
     16  <body>
     17  <script>
     18  'use strict';
     19 
     20  function induceRequest(url, test) {
     21    return test_driver.bless(
     22      'Enable WebAudio playback',
     23      () => {
     24        const audioContext = new AudioContext();
     25 
     26        test.add_cleanup(() => audioContext.close());
     27 
     28        return audioContext.audioWorklet.addModule(url);
     29      }
     30    );
     31  }
     32 
     33  promise_test((t) => {
     34    const key = '{{uuid()}}';
     35 
     36    return induceRequest(
     37        makeRequestURL(key, ['httpsOrigin'], {mime: 'text/javascript'}),
     38        t
     39      )
     40      .then(() => retrieve(key))
     41      .then((headers) => {
     42          assert_own_property(headers, 'sec-fetch-site');
     43          assert_array_equals(headers['sec-fetch-site'], ['same-origin']);
     44        });
     45  }, 'sec-fetch-site - Same origin');
     46 
     47  promise_test((t) => {
     48    const key = '{{uuid()}}';
     49 
     50    return induceRequest(
     51        makeRequestURL(key, ['httpsCrossSite'], {mime: 'text/javascript'}),
     52        t
     53      )
     54      .then(() => retrieve(key))
     55      .then((headers) => {
     56          assert_own_property(headers, 'sec-fetch-site');
     57          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
     58        });
     59  }, 'sec-fetch-site - Cross-site');
     60 
     61  promise_test((t) => {
     62    const key = '{{uuid()}}';
     63 
     64    return induceRequest(
     65        makeRequestURL(key, ['httpsSameSite'], {mime: 'text/javascript'}),
     66        t
     67      )
     68      .then(() => retrieve(key))
     69      .then((headers) => {
     70          assert_own_property(headers, 'sec-fetch-site');
     71          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
     72        });
     73  }, 'sec-fetch-site - Same site');
     74 
     75  promise_test((t) => {
     76    const key = '{{uuid()}}';
     77 
     78    return induceRequest(
     79        makeRequestURL(key, ['httpsOrigin', 'httpsCrossSite', 'httpsOrigin'], {mime: 'text/javascript'}),
     80        t
     81      )
     82      .then(() => retrieve(key))
     83      .then((headers) => {
     84          assert_own_property(headers, 'sec-fetch-site');
     85          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
     86        });
     87  }, 'sec-fetch-site - Same-Origin -> Cross-Site -> Same-Origin redirect');
     88 
     89  promise_test((t) => {
     90    const key = '{{uuid()}}';
     91 
     92    return induceRequest(
     93        makeRequestURL(key, ['httpsOrigin', 'httpsSameSite', 'httpsOrigin'], {mime: 'text/javascript'}),
     94        t
     95      )
     96      .then(() => retrieve(key))
     97      .then((headers) => {
     98          assert_own_property(headers, 'sec-fetch-site');
     99          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    100        });
    101  }, 'sec-fetch-site - Same-Origin -> Same-Site -> Same-Origin redirect');
    102 
    103  promise_test((t) => {
    104    const key = '{{uuid()}}';
    105 
    106    return induceRequest(
    107        makeRequestURL(key, ['httpsCrossSite', 'httpsOrigin'], {mime: 'text/javascript'}),
    108        t
    109      )
    110      .then(() => retrieve(key))
    111      .then((headers) => {
    112          assert_own_property(headers, 'sec-fetch-site');
    113          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    114        });
    115  }, 'sec-fetch-site - Cross-Site -> Same Origin');
    116 
    117  promise_test((t) => {
    118    const key = '{{uuid()}}';
    119 
    120    return induceRequest(
    121        makeRequestURL(key, ['httpsCrossSite', 'httpsSameSite'], {mime: 'text/javascript'}),
    122        t
    123      )
    124      .then(() => retrieve(key))
    125      .then((headers) => {
    126          assert_own_property(headers, 'sec-fetch-site');
    127          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    128        });
    129  }, 'sec-fetch-site - Cross-Site -> Same-Site');
    130 
    131  promise_test((t) => {
    132    const key = '{{uuid()}}';
    133 
    134    return induceRequest(
    135        makeRequestURL(key, ['httpsCrossSite', 'httpsCrossSite'], {mime: 'text/javascript'}),
    136        t
    137      )
    138      .then(() => retrieve(key))
    139      .then((headers) => {
    140          assert_own_property(headers, 'sec-fetch-site');
    141          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    142        });
    143  }, 'sec-fetch-site - Cross-Site -> Cross-Site');
    144 
    145  promise_test((t) => {
    146    const key = '{{uuid()}}';
    147 
    148    return induceRequest(
    149        makeRequestURL(key, ['httpsOrigin', 'httpsOrigin'], {mime: 'text/javascript'}),
    150        t
    151      )
    152      .then(() => retrieve(key))
    153      .then((headers) => {
    154          assert_own_property(headers, 'sec-fetch-site');
    155          assert_array_equals(headers['sec-fetch-site'], ['same-origin']);
    156        });
    157  }, 'sec-fetch-site - Same-Origin -> Same Origin');
    158 
    159  promise_test((t) => {
    160    const key = '{{uuid()}}';
    161 
    162    return induceRequest(
    163        makeRequestURL(key, ['httpsOrigin', 'httpsSameSite'], {mime: 'text/javascript'}),
    164        t
    165      )
    166      .then(() => retrieve(key))
    167      .then((headers) => {
    168          assert_own_property(headers, 'sec-fetch-site');
    169          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    170        });
    171  }, 'sec-fetch-site - Same-Origin -> Same-Site');
    172 
    173  promise_test((t) => {
    174    const key = '{{uuid()}}';
    175 
    176    return induceRequest(
    177        makeRequestURL(key, ['httpsOrigin', 'httpsCrossSite'], {mime: 'text/javascript'}),
    178        t
    179      )
    180      .then(() => retrieve(key))
    181      .then((headers) => {
    182          assert_own_property(headers, 'sec-fetch-site');
    183          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    184        });
    185  }, 'sec-fetch-site - Same-Origin -> Cross-Site');
    186 
    187  promise_test((t) => {
    188    const key = '{{uuid()}}';
    189 
    190    return induceRequest(
    191        makeRequestURL(key, ['httpsSameSite', 'httpsOrigin'], {mime: 'text/javascript'}),
    192        t
    193      )
    194      .then(() => retrieve(key))
    195      .then((headers) => {
    196          assert_own_property(headers, 'sec-fetch-site');
    197          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    198        });
    199  }, 'sec-fetch-site - Same-Site -> Same Origin');
    200 
    201  promise_test((t) => {
    202    const key = '{{uuid()}}';
    203 
    204    return induceRequest(
    205        makeRequestURL(key, ['httpsSameSite', 'httpsSameSite'], {mime: 'text/javascript'}),
    206        t
    207      )
    208      .then(() => retrieve(key))
    209      .then((headers) => {
    210          assert_own_property(headers, 'sec-fetch-site');
    211          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    212        });
    213  }, 'sec-fetch-site - Same-Site -> Same-Site');
    214 
    215  promise_test((t) => {
    216    const key = '{{uuid()}}';
    217 
    218    return induceRequest(
    219        makeRequestURL(key, ['httpsSameSite', 'httpsCrossSite'], {mime: 'text/javascript'}),
    220        t
    221      )
    222      .then(() => retrieve(key))
    223      .then((headers) => {
    224          assert_own_property(headers, 'sec-fetch-site');
    225          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    226        });
    227  }, 'sec-fetch-site - Same-Site -> Cross-Site');
    228 
    229  promise_test((t) => {
    230    const key = '{{uuid()}}';
    231 
    232    return induceRequest(
    233        makeRequestURL(key, [], {mime: 'text/javascript'}),
    234        t
    235      )
    236      .then(() => retrieve(key))
    237      .then((headers) => {
    238          assert_own_property(headers, 'sec-fetch-mode');
    239          assert_array_equals(headers['sec-fetch-mode'], ['cors']);
    240        });
    241  }, 'sec-fetch-mode');
    242 
    243  promise_test((t) => {
    244    const key = '{{uuid()}}';
    245 
    246    return induceRequest(
    247        makeRequestURL(key, [], {mime: 'text/javascript'}),
    248        t
    249      )
    250      .then(() => retrieve(key))
    251      .then((headers) => {
    252          assert_own_property(headers, 'sec-fetch-dest');
    253          assert_array_equals(headers['sec-fetch-dest'], ['audioworklet']);
    254        });
    255  }, 'sec-fetch-dest');
    256 
    257  promise_test((t) => {
    258    const key = '{{uuid()}}';
    259 
    260    return induceRequest(
    261        makeRequestURL(key, [], {mime: 'text/javascript'}),
    262        t
    263      )
    264      .then(() => retrieve(key))
    265      .then((headers) => {
    266          assert_not_own_property(headers, 'sec-fetch-user');
    267        });
    268  }, 'sec-fetch-user');
    269 
    270  promise_test((t) => {
    271    const key = '{{uuid()}}';
    272 
    273    return induceRequest(
    274        makeRequestURL(key, ['httpsCrossSite'], {mime: 'text/javascript'}),
    275        t
    276      )
    277      .then(() => retrieve(key))
    278      .then((headers) => {
    279          assert_not_own_property(headers, 'sec-fetch-storage-access');
    280        });
    281  }, 'sec-fetch-storage-access - Cross-site');
    282 
    283  promise_test((t) => {
    284    const key = '{{uuid()}}';
    285 
    286    return induceRequest(
    287        makeRequestURL(key, ['httpsSameSite'], {mime: 'text/javascript'}),
    288        t
    289      )
    290      .then(() => retrieve(key))
    291      .then((headers) => {
    292          assert_not_own_property(headers, 'sec-fetch-storage-access');
    293        });
    294  }, 'sec-fetch-storage-access - Same site');
    295  </script>
    296  </body>
    297 </html>