tor-browser

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

worker-dedicated-constructor.https.sub.html (3461B)


      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/worker-dedicated-constructor.sub.html
      7 -->
      8 <html lang="en">
      9  <meta charset="utf-8">
     10  <title>HTTP headers on request for dedicated worker via the "Worker" constructor</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  function induceRequest(url, options) {
     17    return new Promise((resolve, reject) => {
     18      const worker = new Worker(url, options);
     19      worker.onmessage = resolve;
     20      worker.onerror = reject;
     21    });
     22  }
     23 
     24  promise_test(() => {
     25    const key = '{{uuid()}}';
     26    const url = makeRequestURL(
     27      key,
     28      [],
     29      { mime: 'application/javascript', body: 'postMessage("")' }
     30    );
     31 
     32    return induceRequest(url)
     33      .then(() => retrieve(key))
     34      .then((headers) => {
     35          assert_own_property(headers, 'sec-fetch-mode');
     36          assert_array_equals(headers['sec-fetch-mode'], ['same-origin']);
     37        });
     38  }, 'sec-fetch-mode - no options');
     39 
     40  promise_test(() => {
     41    const key = '{{uuid()}}';
     42    const url = makeRequestURL(
     43      key,
     44      [],
     45      { mime: 'application/javascript', body: 'postMessage("")' }
     46    );
     47 
     48    return induceRequest(url, {"type": "module"})
     49      .then(() => retrieve(key))
     50      .then((headers) => {
     51          assert_own_property(headers, 'sec-fetch-mode');
     52          assert_array_equals(headers['sec-fetch-mode'], ['same-origin']);
     53        });
     54  }, 'sec-fetch-mode - options: type=module');
     55 
     56  promise_test(() => {
     57    const key = '{{uuid()}}';
     58    const url = makeRequestURL(
     59      key,
     60      [],
     61      { mime: 'application/javascript', body: 'postMessage("")' }
     62    );
     63 
     64    return induceRequest(url)
     65      .then(() => retrieve(key))
     66      .then((headers) => {
     67          assert_own_property(headers, 'sec-fetch-dest');
     68          assert_array_equals(headers['sec-fetch-dest'], ['worker']);
     69        });
     70  }, 'sec-fetch-dest - no options');
     71 
     72  promise_test(() => {
     73    const key = '{{uuid()}}';
     74    const url = makeRequestURL(
     75      key,
     76      [],
     77      { mime: 'application/javascript', body: 'postMessage("")' }
     78    );
     79 
     80    return induceRequest(url, {"type": "module"})
     81      .then(() => retrieve(key))
     82      .then((headers) => {
     83          assert_own_property(headers, 'sec-fetch-dest');
     84          assert_array_equals(headers['sec-fetch-dest'], ['worker']);
     85        });
     86  }, 'sec-fetch-dest - options: type=module');
     87 
     88  promise_test(() => {
     89    const key = '{{uuid()}}';
     90    const url = makeRequestURL(
     91      key,
     92      [],
     93      { mime: 'application/javascript', body: 'postMessage("")' }
     94    );
     95 
     96    return induceRequest(url)
     97      .then(() => retrieve(key))
     98      .then((headers) => {
     99          assert_not_own_property(headers, 'sec-fetch-user');
    100        });
    101  }, 'sec-fetch-user - no options');
    102 
    103  promise_test(() => {
    104    const key = '{{uuid()}}';
    105    const url = makeRequestURL(
    106      key,
    107      [],
    108      { mime: 'application/javascript', body: 'postMessage("")' }
    109    );
    110 
    111    return induceRequest(url, {"type": "module"})
    112      .then(() => retrieve(key))
    113      .then((headers) => {
    114          assert_not_own_property(headers, 'sec-fetch-user');
    115        });
    116  }, 'sec-fetch-user - options: type=module');
    117  </script>
    118 </html>