tor-browser

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

script-module-import-dynamic.https.sub.html (8761B)


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