tor-browser

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

shared-worker-import-meta.html (1951B)


      1 <!DOCTYPE html>
      2 <title>SharedWorker: import.meta</title>
      3 <script src="/resources/testharness.js"></script>
      4 <script src="/resources/testharnessreport.js"></script>
      5 <script>
      6 
      7 promise_test(() => {
      8  const script_url = 'resources/import-meta-url-worker.js';
      9  const worker = new SharedWorker(script_url, { type: 'module' });
     10  return new Promise((resolve, reject) => {
     11        worker.port.onmessage = resolve;
     12        worker.onerror = (error) => reject(error && error.message);
     13      })
     14      .then(msg_event => assert_true(msg_event.data.endsWith(script_url)));
     15 }, 'Test import.meta.url on the top-level module script.');
     16 
     17 promise_test(() => {
     18  const script_url = 'import-meta-url-export.js';
     19  const worker = new SharedWorker(
     20      'resources/dynamic-import-given-url-worker.js',
     21      { type: 'module' });
     22  worker.port.postMessage('./' + script_url);
     23  return new Promise((resolve, reject) => {
     24        worker.port.onmessage = resolve;
     25        worker.onerror = (error) => reject(error && error.message);
     26      })
     27      .then(msg_event => assert_true(msg_event.data.endsWith(script_url)));
     28 }, 'Test import.meta.url on the imported module script.');
     29 
     30 promise_test(() => {
     31  const script_url = 'import-meta-url-export.js';
     32  const worker = new SharedWorker(
     33      'resources/dynamic-import-given-url-worker.js',
     34      { type: 'module' });
     35  worker.port.postMessage('./' + script_url);
     36 
     37  return new Promise((resolve, reject) => {
     38        worker.port.onmessage = resolve;
     39        worker.onerror = (error) => reject(error && error.message);
     40      })
     41      .then(msg_event => assert_true(msg_event.data.endsWith(script_url)))
     42      .then(() => {
     43        worker.port.postMessage('./' + script_url + '#1');
     44        return new Promise(resolve => worker.port.onmessage = resolve);
     45      })
     46      .then(msg_event => assert_true(msg_event.data.endsWith(script_url + "#1")));
     47 }, 'Test import.meta.url on the imported module script with a fragment.');
     48 
     49 </script>