tor-browser

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

add-module-or-create-worklet-with-data-url.tentative.https.sub.html (1756B)


      1 <!doctype html>
      2 <script src="/resources/testharness.js"></script>
      3 <script src="/resources/testharnessreport.js"></script>
      4 
      5 <body>
      6 <script>
      7 'use strict';
      8 
      9 promise_test(async t => {
     10  // Loading the worklet script uses CORS, which doesn't support the data
     11  // scheme.
     12  return promise_rejects_dom(t, "OperationError",
     13                             sharedStorage.worklet.addModule(
     14                               `data:application/javascript;alert("Hi!")`));
     15 }, 'addModule() with data URL module script');
     16 
     17 promise_test(async t => {
     18  // Loading the worklet script uses CORS, which doesn't support the data
     19  // scheme.
     20  return promise_rejects_dom(t, "OperationError",
     21                             sharedStorage.createWorklet(
     22                               `data:application/javascript;alert("Hi!")`));
     23 }, 'createWorklet() with data URL module script and default data origin');
     24 
     25 promise_test(async t => {
     26  // Loading the worklet script uses CORS, which doesn't support the data
     27  // scheme.
     28  return promise_rejects_dom(t, "OperationError",
     29                             sharedStorage.createWorklet(
     30                                 `data:application/javascript;alert("Hi!")`,
     31                                 { dataOrigin: "context-origin" }));
     32 }, 'createWorklet() with data URL module script and dataOrigin "context-origin"');
     33 
     34 promise_test(async t => {
     35  // Opaque data origins are not permitted.
     36  return promise_rejects_dom(t, "InvalidAccessError",
     37                             sharedStorage.createWorklet(
     38                                 `data:application/javascript;alert("Hi!")`,
     39                                 { dataOrigin: "script-origin" }));
     40 }, 'createWorklet() with data URL module script and dataOrigin "script-origin"');
     41 </script>
     42 </body>