tor-browser

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

fetch-via-serviceworker.https.sub.html (22570B)


      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/fetch-via-serviceworker.https.sub.html
      7 -->
      8 <html lang="en">
      9  <meta charset="utf-8">
     10  <meta name="timeout" content="long">
     11  <title>HTTP headers on request using the "fetch" API and passing through a Serive Worker</title>
     12  <script src="/resources/testharness.js"></script>
     13  <script src="/resources/testharnessreport.js"></script>
     14  <script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script>
     15  <script src="/fetch/metadata/resources/helper.sub.js"></script>
     16  <body>
     17  <script>
     18  'use strict';
     19 
     20  const scripts = {
     21    fallback: '/fetch/metadata/resources/fetch-via-serviceworker--fallback--sw.js',
     22    respondWith: '/fetch/metadata/resources/fetch-via-serviceworker--respondWith--sw.js'
     23  };
     24 
     25  function induceRequest(t, url, init, script) {
     26    const SCOPE = '/fetch/metadata/resources/fetch-via-serviceworker-frame.html';
     27    const SCRIPT = scripts[script];
     28 
     29    return service_worker_unregister_and_register(t, SCRIPT, SCOPE)
     30      .then((registration) => {
     31        t.add_cleanup(() => registration.unregister());
     32 
     33        return wait_for_state(t, registration.installing, 'activated');
     34      })
     35      .then(() => with_iframe(SCOPE))
     36      .then((frame) => {
     37        t.add_cleanup(() => frame.remove());
     38 
     39        return frame.contentWindow.fetch(url, init);
     40      });
     41  }
     42 
     43  promise_test((t) => {
     44    const key = '{{uuid()}}';
     45 
     46    return induceRequest(
     47        t,
     48        makeRequestURL(key, ['httpsOrigin']),
     49        {"mode": "no-cors"},
     50        'respondWith'
     51      )
     52      .then(() => retrieve(key))
     53      .then((headers) => {
     54          assert_own_property(headers, 'sec-fetch-site');
     55          assert_array_equals(headers['sec-fetch-site'], ['same-origin']);
     56        });
     57  }, 'sec-fetch-site - Same origin, init: mode=no-cors - respondWith');
     58 
     59  promise_test((t) => {
     60    const key = '{{uuid()}}';
     61 
     62    return induceRequest(
     63        t,
     64        makeRequestURL(key, ['httpsOrigin']),
     65        {"mode": "no-cors"},
     66        'fallback'
     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-origin']);
     72        });
     73  }, 'sec-fetch-site - Same origin, init: mode=no-cors - fallback');
     74 
     75  promise_test((t) => {
     76    const key = '{{uuid()}}';
     77 
     78    return induceRequest(
     79        t,
     80        makeRequestURL(key, ['httpsCrossSite']),
     81        {"mode": "no-cors"},
     82        'respondWith'
     83      )
     84      .then(() => retrieve(key))
     85      .then((headers) => {
     86          assert_own_property(headers, 'sec-fetch-site');
     87          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
     88        });
     89  }, 'sec-fetch-site - Cross-site, init: mode=no-cors - respondWith');
     90 
     91  promise_test((t) => {
     92    const key = '{{uuid()}}';
     93 
     94    return induceRequest(
     95        t,
     96        makeRequestURL(key, ['httpsCrossSite']),
     97        {"mode": "no-cors"},
     98        'fallback'
     99      )
    100      .then(() => retrieve(key))
    101      .then((headers) => {
    102          assert_own_property(headers, 'sec-fetch-site');
    103          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    104        });
    105  }, 'sec-fetch-site - Cross-site, init: mode=no-cors - fallback');
    106 
    107  promise_test((t) => {
    108    const key = '{{uuid()}}';
    109 
    110    return induceRequest(
    111        t,
    112        makeRequestURL(key, ['httpsSameSite']),
    113        {"mode": "no-cors"},
    114        'respondWith'
    115      )
    116      .then(() => retrieve(key))
    117      .then((headers) => {
    118          assert_own_property(headers, 'sec-fetch-site');
    119          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    120        });
    121  }, 'sec-fetch-site - Same site, init: mode=no-cors - respondWith');
    122 
    123  promise_test((t) => {
    124    const key = '{{uuid()}}';
    125 
    126    return induceRequest(
    127        t,
    128        makeRequestURL(key, ['httpsSameSite']),
    129        {"mode": "no-cors"},
    130        'fallback'
    131      )
    132      .then(() => retrieve(key))
    133      .then((headers) => {
    134          assert_own_property(headers, 'sec-fetch-site');
    135          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    136        });
    137  }, 'sec-fetch-site - Same site, init: mode=no-cors - fallback');
    138 
    139  promise_test((t) => {
    140    const key = '{{uuid()}}';
    141 
    142    return induceRequest(
    143        t,
    144        makeRequestURL(key, ['httpsOrigin', 'httpsCrossSite', 'httpsOrigin']),
    145        {"mode": "no-cors"},
    146        'respondWith'
    147      )
    148      .then(() => retrieve(key))
    149      .then((headers) => {
    150          assert_own_property(headers, 'sec-fetch-site');
    151          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    152        });
    153  }, 'sec-fetch-site - Same-Origin -> Cross-Site -> Same-Origin redirect, init: mode=no-cors - respondWith');
    154 
    155  promise_test((t) => {
    156    const key = '{{uuid()}}';
    157 
    158    return induceRequest(
    159        t,
    160        makeRequestURL(key, ['httpsOrigin', 'httpsCrossSite', 'httpsOrigin']),
    161        {"mode": "no-cors"},
    162        'fallback'
    163      )
    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 -> Same-Origin redirect, init: mode=no-cors - fallback');
    170 
    171  promise_test((t) => {
    172    const key = '{{uuid()}}';
    173 
    174    return induceRequest(
    175        t,
    176        makeRequestURL(key, ['httpsOrigin', 'httpsSameSite', 'httpsOrigin']),
    177        {"mode": "no-cors"},
    178        'respondWith'
    179      )
    180      .then(() => retrieve(key))
    181      .then((headers) => {
    182          assert_own_property(headers, 'sec-fetch-site');
    183          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    184        });
    185  }, 'sec-fetch-site - Same-Origin -> Same-Site -> Same-Origin redirect, init: mode=no-cors - respondWith');
    186 
    187  promise_test((t) => {
    188    const key = '{{uuid()}}';
    189 
    190    return induceRequest(
    191        t,
    192        makeRequestURL(key, ['httpsOrigin', 'httpsSameSite', 'httpsOrigin']),
    193        {"mode": "no-cors"},
    194        'fallback'
    195      )
    196      .then(() => retrieve(key))
    197      .then((headers) => {
    198          assert_own_property(headers, 'sec-fetch-site');
    199          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    200        });
    201  }, 'sec-fetch-site - Same-Origin -> Same-Site -> Same-Origin redirect, init: mode=no-cors - fallback');
    202 
    203  promise_test((t) => {
    204    const key = '{{uuid()}}';
    205 
    206    return induceRequest(
    207        t,
    208        makeRequestURL(key, ['httpsCrossSite', 'httpsOrigin']),
    209        {"mode": "no-cors"},
    210        'respondWith'
    211      )
    212      .then(() => retrieve(key))
    213      .then((headers) => {
    214          assert_own_property(headers, 'sec-fetch-site');
    215          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    216        });
    217  }, 'sec-fetch-site - Cross-Site -> Same Origin, init: mode=no-cors - respondWith');
    218 
    219  promise_test((t) => {
    220    const key = '{{uuid()}}';
    221 
    222    return induceRequest(
    223        t,
    224        makeRequestURL(key, ['httpsCrossSite', 'httpsOrigin']),
    225        {"mode": "no-cors"},
    226        'fallback'
    227      )
    228      .then(() => retrieve(key))
    229      .then((headers) => {
    230          assert_own_property(headers, 'sec-fetch-site');
    231          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    232        });
    233  }, 'sec-fetch-site - Cross-Site -> Same Origin, init: mode=no-cors - fallback');
    234 
    235  promise_test((t) => {
    236    const key = '{{uuid()}}';
    237 
    238    return induceRequest(
    239        t,
    240        makeRequestURL(key, ['httpsCrossSite', 'httpsSameSite']),
    241        {"mode": "no-cors"},
    242        'respondWith'
    243      )
    244      .then(() => retrieve(key))
    245      .then((headers) => {
    246          assert_own_property(headers, 'sec-fetch-site');
    247          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    248        });
    249  }, 'sec-fetch-site - Cross-Site -> Same-Site, init: mode=no-cors - respondWith');
    250 
    251  promise_test((t) => {
    252    const key = '{{uuid()}}';
    253 
    254    return induceRequest(
    255        t,
    256        makeRequestURL(key, ['httpsCrossSite', 'httpsSameSite']),
    257        {"mode": "no-cors"},
    258        'fallback'
    259      )
    260      .then(() => retrieve(key))
    261      .then((headers) => {
    262          assert_own_property(headers, 'sec-fetch-site');
    263          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    264        });
    265  }, 'sec-fetch-site - Cross-Site -> Same-Site, init: mode=no-cors - fallback');
    266 
    267  promise_test((t) => {
    268    const key = '{{uuid()}}';
    269 
    270    return induceRequest(
    271        t,
    272        makeRequestURL(key, ['httpsCrossSite', 'httpsCrossSite']),
    273        {"mode": "no-cors"},
    274        'respondWith'
    275      )
    276      .then(() => retrieve(key))
    277      .then((headers) => {
    278          assert_own_property(headers, 'sec-fetch-site');
    279          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    280        });
    281  }, 'sec-fetch-site - Cross-Site -> Cross-Site, init: mode=no-cors - respondWith');
    282 
    283  promise_test((t) => {
    284    const key = '{{uuid()}}';
    285 
    286    return induceRequest(
    287        t,
    288        makeRequestURL(key, ['httpsCrossSite', 'httpsCrossSite']),
    289        {"mode": "no-cors"},
    290        'fallback'
    291      )
    292      .then(() => retrieve(key))
    293      .then((headers) => {
    294          assert_own_property(headers, 'sec-fetch-site');
    295          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    296        });
    297  }, 'sec-fetch-site - Cross-Site -> Cross-Site, init: mode=no-cors - fallback');
    298 
    299  promise_test((t) => {
    300    const key = '{{uuid()}}';
    301 
    302    return induceRequest(
    303        t,
    304        makeRequestURL(key, ['httpsOrigin', 'httpsOrigin']),
    305        {"mode": "no-cors"},
    306        'respondWith'
    307      )
    308      .then(() => retrieve(key))
    309      .then((headers) => {
    310          assert_own_property(headers, 'sec-fetch-site');
    311          assert_array_equals(headers['sec-fetch-site'], ['same-origin']);
    312        });
    313  }, 'sec-fetch-site - Same-Origin -> Same Origin, init: mode=no-cors - respondWith');
    314 
    315  promise_test((t) => {
    316    const key = '{{uuid()}}';
    317 
    318    return induceRequest(
    319        t,
    320        makeRequestURL(key, ['httpsOrigin', 'httpsOrigin']),
    321        {"mode": "no-cors"},
    322        'fallback'
    323      )
    324      .then(() => retrieve(key))
    325      .then((headers) => {
    326          assert_own_property(headers, 'sec-fetch-site');
    327          assert_array_equals(headers['sec-fetch-site'], ['same-origin']);
    328        });
    329  }, 'sec-fetch-site - Same-Origin -> Same Origin, init: mode=no-cors - fallback');
    330 
    331  promise_test((t) => {
    332    const key = '{{uuid()}}';
    333 
    334    return induceRequest(
    335        t,
    336        makeRequestURL(key, ['httpsOrigin', 'httpsSameSite']),
    337        {"mode": "no-cors"},
    338        'respondWith'
    339      )
    340      .then(() => retrieve(key))
    341      .then((headers) => {
    342          assert_own_property(headers, 'sec-fetch-site');
    343          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    344        });
    345  }, 'sec-fetch-site - Same-Origin -> Same-Site, init: mode=no-cors - respondWith');
    346 
    347  promise_test((t) => {
    348    const key = '{{uuid()}}';
    349 
    350    return induceRequest(
    351        t,
    352        makeRequestURL(key, ['httpsOrigin', 'httpsSameSite']),
    353        {"mode": "no-cors"},
    354        'fallback'
    355      )
    356      .then(() => retrieve(key))
    357      .then((headers) => {
    358          assert_own_property(headers, 'sec-fetch-site');
    359          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    360        });
    361  }, 'sec-fetch-site - Same-Origin -> Same-Site, init: mode=no-cors - fallback');
    362 
    363  promise_test((t) => {
    364    const key = '{{uuid()}}';
    365 
    366    return induceRequest(
    367        t,
    368        makeRequestURL(key, ['httpsOrigin', 'httpsCrossSite']),
    369        {"mode": "no-cors"},
    370        'respondWith'
    371      )
    372      .then(() => retrieve(key))
    373      .then((headers) => {
    374          assert_own_property(headers, 'sec-fetch-site');
    375          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    376        });
    377  }, 'sec-fetch-site - Same-Origin -> Cross-Site, init: mode=no-cors - respondWith');
    378 
    379  promise_test((t) => {
    380    const key = '{{uuid()}}';
    381 
    382    return induceRequest(
    383        t,
    384        makeRequestURL(key, ['httpsOrigin', 'httpsCrossSite']),
    385        {"mode": "no-cors"},
    386        'fallback'
    387      )
    388      .then(() => retrieve(key))
    389      .then((headers) => {
    390          assert_own_property(headers, 'sec-fetch-site');
    391          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    392        });
    393  }, 'sec-fetch-site - Same-Origin -> Cross-Site, init: mode=no-cors - fallback');
    394 
    395  promise_test((t) => {
    396    const key = '{{uuid()}}';
    397 
    398    return induceRequest(
    399        t,
    400        makeRequestURL(key, ['httpsSameSite', 'httpsOrigin']),
    401        {"mode": "no-cors"},
    402        'respondWith'
    403      )
    404      .then(() => retrieve(key))
    405      .then((headers) => {
    406          assert_own_property(headers, 'sec-fetch-site');
    407          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    408        });
    409  }, 'sec-fetch-site - Same-Site -> Same Origin, init: mode=no-cors - respondWith');
    410 
    411  promise_test((t) => {
    412    const key = '{{uuid()}}';
    413 
    414    return induceRequest(
    415        t,
    416        makeRequestURL(key, ['httpsSameSite', 'httpsOrigin']),
    417        {"mode": "no-cors"},
    418        'fallback'
    419      )
    420      .then(() => retrieve(key))
    421      .then((headers) => {
    422          assert_own_property(headers, 'sec-fetch-site');
    423          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    424        });
    425  }, 'sec-fetch-site - Same-Site -> Same Origin, init: mode=no-cors - fallback');
    426 
    427  promise_test((t) => {
    428    const key = '{{uuid()}}';
    429 
    430    return induceRequest(
    431        t,
    432        makeRequestURL(key, ['httpsSameSite', 'httpsSameSite']),
    433        {"mode": "no-cors"},
    434        'respondWith'
    435      )
    436      .then(() => retrieve(key))
    437      .then((headers) => {
    438          assert_own_property(headers, 'sec-fetch-site');
    439          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    440        });
    441  }, 'sec-fetch-site - Same-Site -> Same-Site, init: mode=no-cors - respondWith');
    442 
    443  promise_test((t) => {
    444    const key = '{{uuid()}}';
    445 
    446    return induceRequest(
    447        t,
    448        makeRequestURL(key, ['httpsSameSite', 'httpsSameSite']),
    449        {"mode": "no-cors"},
    450        'fallback'
    451      )
    452      .then(() => retrieve(key))
    453      .then((headers) => {
    454          assert_own_property(headers, 'sec-fetch-site');
    455          assert_array_equals(headers['sec-fetch-site'], ['same-site']);
    456        });
    457  }, 'sec-fetch-site - Same-Site -> Same-Site, init: mode=no-cors - fallback');
    458 
    459  promise_test((t) => {
    460    const key = '{{uuid()}}';
    461 
    462    return induceRequest(
    463        t,
    464        makeRequestURL(key, ['httpsSameSite', 'httpsCrossSite']),
    465        {"mode": "no-cors"},
    466        'respondWith'
    467      )
    468      .then(() => retrieve(key))
    469      .then((headers) => {
    470          assert_own_property(headers, 'sec-fetch-site');
    471          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    472        });
    473  }, 'sec-fetch-site - Same-Site -> Cross-Site, init: mode=no-cors - respondWith');
    474 
    475  promise_test((t) => {
    476    const key = '{{uuid()}}';
    477 
    478    return induceRequest(
    479        t,
    480        makeRequestURL(key, ['httpsSameSite', 'httpsCrossSite']),
    481        {"mode": "no-cors"},
    482        'fallback'
    483      )
    484      .then(() => retrieve(key))
    485      .then((headers) => {
    486          assert_own_property(headers, 'sec-fetch-site');
    487          assert_array_equals(headers['sec-fetch-site'], ['cross-site']);
    488        });
    489  }, 'sec-fetch-site - Same-Site -> Cross-Site, init: mode=no-cors - fallback');
    490 
    491  promise_test((t) => {
    492    const key = '{{uuid()}}';
    493 
    494    return induceRequest(
    495        t,
    496        makeRequestURL(key, []),
    497        {},
    498        'respondWith'
    499      )
    500      .then(() => retrieve(key))
    501      .then((headers) => {
    502          assert_own_property(headers, 'sec-fetch-mode');
    503          assert_array_equals(headers['sec-fetch-mode'], ['cors']);
    504        });
    505  }, 'sec-fetch-mode - no init - respondWith');
    506 
    507  promise_test((t) => {
    508    const key = '{{uuid()}}';
    509 
    510    return induceRequest(
    511        t,
    512        makeRequestURL(key, []),
    513        {},
    514        'fallback'
    515      )
    516      .then(() => retrieve(key))
    517      .then((headers) => {
    518          assert_own_property(headers, 'sec-fetch-mode');
    519          assert_array_equals(headers['sec-fetch-mode'], ['cors']);
    520        });
    521  }, 'sec-fetch-mode - no init - fallback');
    522 
    523  promise_test((t) => {
    524    const key = '{{uuid()}}';
    525 
    526    return induceRequest(
    527        t,
    528        makeRequestURL(key, []),
    529        {"mode": "cors"},
    530        'respondWith'
    531      )
    532      .then(() => retrieve(key))
    533      .then((headers) => {
    534          assert_own_property(headers, 'sec-fetch-mode');
    535          assert_array_equals(headers['sec-fetch-mode'], ['cors']);
    536        });
    537  }, 'sec-fetch-mode - init: mode=cors - respondWith');
    538 
    539  promise_test((t) => {
    540    const key = '{{uuid()}}';
    541 
    542    return induceRequest(
    543        t,
    544        makeRequestURL(key, []),
    545        {"mode": "cors"},
    546        'fallback'
    547      )
    548      .then(() => retrieve(key))
    549      .then((headers) => {
    550          assert_own_property(headers, 'sec-fetch-mode');
    551          assert_array_equals(headers['sec-fetch-mode'], ['cors']);
    552        });
    553  }, 'sec-fetch-mode - init: mode=cors - fallback');
    554 
    555  promise_test((t) => {
    556    const key = '{{uuid()}}';
    557 
    558    return induceRequest(
    559        t,
    560        makeRequestURL(key, []),
    561        {"mode": "no-cors"},
    562        'respondWith'
    563      )
    564      .then(() => retrieve(key))
    565      .then((headers) => {
    566          assert_own_property(headers, 'sec-fetch-mode');
    567          assert_array_equals(headers['sec-fetch-mode'], ['no-cors']);
    568        });
    569  }, 'sec-fetch-mode - init: mode=no-cors - respondWith');
    570 
    571  promise_test((t) => {
    572    const key = '{{uuid()}}';
    573 
    574    return induceRequest(
    575        t,
    576        makeRequestURL(key, []),
    577        {"mode": "no-cors"},
    578        'fallback'
    579      )
    580      .then(() => retrieve(key))
    581      .then((headers) => {
    582          assert_own_property(headers, 'sec-fetch-mode');
    583          assert_array_equals(headers['sec-fetch-mode'], ['no-cors']);
    584        });
    585  }, 'sec-fetch-mode - init: mode=no-cors - fallback');
    586 
    587  promise_test((t) => {
    588    const key = '{{uuid()}}';
    589 
    590    return induceRequest(
    591        t,
    592        makeRequestURL(key, []),
    593        {"mode": "same-origin"},
    594        'respondWith'
    595      )
    596      .then(() => retrieve(key))
    597      .then((headers) => {
    598          assert_own_property(headers, 'sec-fetch-mode');
    599          assert_array_equals(headers['sec-fetch-mode'], ['same-origin']);
    600        });
    601  }, 'sec-fetch-mode - init: mode=same-origin - respondWith');
    602 
    603  promise_test((t) => {
    604    const key = '{{uuid()}}';
    605 
    606    return induceRequest(
    607        t,
    608        makeRequestURL(key, []),
    609        {"mode": "same-origin"},
    610        'fallback'
    611      )
    612      .then(() => retrieve(key))
    613      .then((headers) => {
    614          assert_own_property(headers, 'sec-fetch-mode');
    615          assert_array_equals(headers['sec-fetch-mode'], ['same-origin']);
    616        });
    617  }, 'sec-fetch-mode - init: mode=same-origin - fallback');
    618 
    619  promise_test((t) => {
    620    const key = '{{uuid()}}';
    621 
    622    return induceRequest(
    623        t,
    624        makeRequestURL(key, []),
    625        {},
    626        'respondWith'
    627      )
    628      .then(() => retrieve(key))
    629      .then((headers) => {
    630          assert_own_property(headers, 'sec-fetch-dest');
    631          assert_array_equals(headers['sec-fetch-dest'], ['empty']);
    632        });
    633  }, 'sec-fetch-dest - no init - respondWith');
    634 
    635  promise_test((t) => {
    636    const key = '{{uuid()}}';
    637 
    638    return induceRequest(
    639        t,
    640        makeRequestURL(key, []),
    641        {},
    642        'fallback'
    643      )
    644      .then(() => retrieve(key))
    645      .then((headers) => {
    646          assert_own_property(headers, 'sec-fetch-dest');
    647          assert_array_equals(headers['sec-fetch-dest'], ['empty']);
    648        });
    649  }, 'sec-fetch-dest - no init - fallback');
    650 
    651  promise_test((t) => {
    652    const key = '{{uuid()}}';
    653 
    654    return induceRequest(
    655        t,
    656        makeRequestURL(key, []),
    657        {},
    658        'respondWith'
    659      )
    660      .then(() => retrieve(key))
    661      .then((headers) => {
    662          assert_not_own_property(headers, 'sec-fetch-user');
    663        });
    664  }, 'sec-fetch-user - no init - respondWith');
    665 
    666  promise_test((t) => {
    667    const key = '{{uuid()}}';
    668 
    669    return induceRequest(
    670        t,
    671        makeRequestURL(key, []),
    672        {},
    673        'fallback'
    674      )
    675      .then(() => retrieve(key))
    676      .then((headers) => {
    677          assert_not_own_property(headers, 'sec-fetch-user');
    678        });
    679  }, 'sec-fetch-user - no init - fallback');
    680 
    681  promise_test((t) => {
    682    const key = '{{uuid()}}';
    683 
    684    return induceRequest(
    685        t,
    686        makeRequestURL(key, ['httpsCrossSite']),
    687        {"credentials": "include", "mode": "no-cors"},
    688        'respondWith'
    689      )
    690      .then(() => retrieve(key))
    691      .then((headers) => {
    692          assert_own_property(headers, 'sec-fetch-storage-access');
    693          assert_array_equals(headers['sec-fetch-storage-access'], ['none']);
    694        });
    695  }, 'sec-fetch-storage-access - Cross-site, init: mode=no-cors, credentials=include - respondWith');
    696 
    697  promise_test((t) => {
    698    const key = '{{uuid()}}';
    699 
    700    return induceRequest(
    701        t,
    702        makeRequestURL(key, ['httpsCrossSite']),
    703        {"credentials": "include", "mode": "no-cors"},
    704        'fallback'
    705      )
    706      .then(() => retrieve(key))
    707      .then((headers) => {
    708          assert_own_property(headers, 'sec-fetch-storage-access');
    709          assert_array_equals(headers['sec-fetch-storage-access'], ['none']);
    710        });
    711  }, 'sec-fetch-storage-access - Cross-site, init: mode=no-cors, credentials=include - fallback');
    712 
    713  promise_test((t) => {
    714    const key = '{{uuid()}}';
    715 
    716    return induceRequest(
    717        t,
    718        makeRequestURL(key, ['httpsSameSite']),
    719        {"credentials": "include", "mode": "no-cors"},
    720        'respondWith'
    721      )
    722      .then(() => retrieve(key))
    723      .then((headers) => {
    724          assert_not_own_property(headers, 'sec-fetch-storage-access');
    725        });
    726  }, 'sec-fetch-storage-access - Same site, init: mode=no-cors, credentials=include - respondWith');
    727 
    728  promise_test((t) => {
    729    const key = '{{uuid()}}';
    730 
    731    return induceRequest(
    732        t,
    733        makeRequestURL(key, ['httpsSameSite']),
    734        {"credentials": "include", "mode": "no-cors"},
    735        'fallback'
    736      )
    737      .then(() => retrieve(key))
    738      .then((headers) => {
    739          assert_not_own_property(headers, 'sec-fetch-storage-access');
    740        });
    741  }, 'sec-fetch-storage-access - Same site, init: mode=no-cors, credentials=include - fallback');
    742 
    743  </script>
    744  </body>
    745 </html>