tor-browser

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

serviceworker-message-event-historical.https.html (1774B)


      1 <!DOCTYPE html>
      2 <title>Service Worker: ServiceWorkerMessageEvent</title>
      3 <script src="/resources/testharness.js"></script>
      4 <script src="/resources/testharnessreport.js"></script>
      5 <script src="resources/test-helpers.sub.js"></script>
      6 <script>
      7 
      8 promise_test(function(t) {
      9    var scope = 'resources/blank.html';
     10    var url = 'resources/postmessage-to-client-worker.js';
     11    return service_worker_unregister_and_register(t, url, scope)
     12      .then(function(r) {
     13          t.add_cleanup(function() {
     14              return service_worker_unregister(t, scope);
     15            });
     16 
     17          return wait_for_state(t, r.installing, 'activated');
     18        })
     19      .then(function() {
     20          return with_iframe(scope);
     21        })
     22      .then(function(frame) {
     23          var w = frame.contentWindow;
     24          var worker = w.navigator.serviceWorker.controller;
     25          assert_equals(
     26              self.ServiceWorkerMessageEvent, undefined,
     27              'ServiceWorkerMessageEvent should not be defined.');
     28          return new Promise(function(resolve) {
     29              w.navigator.serviceWorker.onmessage = t.step_func(function(e) {
     30                  assert_true(
     31                      e instanceof w.MessageEvent,
     32                      'message events should use MessageEvent interface.');
     33                  assert_true(e.source instanceof w.ServiceWorker);
     34                  assert_equals(e.type, 'message');
     35                  assert_equals(e.source, worker,
     36                                'source should equal to the controller.');
     37                  assert_equals(e.ports.length, 0);
     38                  resolve();
     39                });
     40              worker.postMessage('PING');
     41            });
     42        });
     43  }, 'Test MessageEvent supplants ServiceWorkerMessageEvent.');
     44 
     45 </script>