tor-browser

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

service-worker-iframe.html (1179B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8">
      3 <script src="/resources/testharness.js"></script>
      4 <script src="helpers.js"></script>
      5 <script>
      6 'use strict';
      7 
      8 setup({
      9  explicit_done: true
     10 });
     11 
     12 function startTests() {
     13  promise_test(() => {
     14    const orig = createOriginalReadableStream();
     15    const promise = checkTestResults(navigator.serviceWorker);
     16    navigator.serviceWorker.controller.postMessage(orig, [orig]);
     17    assert_true(orig.locked, 'the original stream should be locked');
     18    return promise;
     19  }, 'serviceWorker.controller.postMessage should be able to transfer a ' +
     20               'ReadableStream');
     21 
     22  promise_test(() => {
     23    const promise = testMessageEventOrErrorMessage(navigator.serviceWorker);
     24    navigator.serviceWorker.controller.postMessage('SEND');
     25    return promise;
     26  }, 'postMessage in a service worker should be able to transfer ReadableStream');
     27 
     28  done();
     29 }
     30 
     31 // Delay running the tests until we get a message from the page telling us to.
     32 // This is to work around an issue where testharness.js doesn't detect
     33 // completion of the tests if they fail too early.
     34 onmessage = msg => {
     35  if (msg.data === 'explicit trigger')
     36    startTests();
     37 };
     38 
     39 </script>