OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <title>Tests that postMessage works during and after terminating a service worke
r</title> | 2 <title>Tests that postMessage works during and after terminating a service worke
r</title> |
3 <script src="../../resources/testharness.js"></script> | 3 <script src="../../resources/testharness.js"></script> |
4 <script src="../../resources/testharnessreport.js"></script> | 4 <script src="../../resources/testharnessreport.js"></script> |
5 <script src="../../resources/testharness-helpers.js"></script> | 5 <script src="../../resources/testharness-helpers.js"></script> |
6 <script src="../resources/test-helpers.js"></script> | 6 <script src="../resources/test-helpers.js"></script> |
7 <script> | 7 <script> |
8 function send_ping(worker) { | 8 function send_ping(worker) { |
9 return new Promise(function(resolve) { | 9 return new Promise(function(resolve) { |
10 var channel = new MessageChannel(); | 10 var channel = new MessageChannel(); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 var worker_script = 'resources/postmessage-worker.js'; | 51 var worker_script = 'resources/postmessage-worker.js'; |
52 var scope = 'resources/postmessage-worker-scope'; | 52 var scope = 'resources/postmessage-worker-scope'; |
53 var worker; | 53 var worker; |
54 var registration; | 54 var registration; |
55 var port; | 55 var port; |
56 | 56 |
57 service_worker_unregister_and_register( | 57 service_worker_unregister_and_register( |
58 t, worker_script, scope) | 58 t, worker_script, scope) |
59 .then(function(r) { | 59 .then(function(r) { |
60 registration = r; | 60 registration = r; |
61 return wait_for_activated(t, registration); | 61 return wait_for_state(t, r.installing, 'activated'); |
62 }) | 62 }) |
63 .then(function() { | 63 .then(function() { |
64 worker = registration.active; | 64 worker = registration.active; |
65 return internals.terminateServiceWorker(worker); | 65 return internals.terminateServiceWorker(worker); |
66 }) | 66 }) |
67 .then(function() { | 67 .then(function() { |
68 var messageChannel = new MessageChannel(); | 68 var messageChannel = new MessageChannel(); |
69 port = messageChannel.port1; | 69 port = messageChannel.port1; |
70 port.onmessage = t.step_func(on_message); | 70 port.onmessage = t.step_func(on_message); |
71 port.postMessage({value: 0}); | 71 port.postMessage({value: 0}); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 var worker_script = 'resources/postmessage-port-worker.js'; | 105 var worker_script = 'resources/postmessage-port-worker.js'; |
106 var scope = 'resources/postmessage-port-worker-scope'; | 106 var scope = 'resources/postmessage-port-worker-scope'; |
107 var worker; | 107 var worker; |
108 var registration; | 108 var registration; |
109 var port; | 109 var port; |
110 | 110 |
111 service_worker_unregister_and_register( | 111 service_worker_unregister_and_register( |
112 t, worker_script, scope) | 112 t, worker_script, scope) |
113 .then(function(r) { | 113 .then(function(r) { |
114 registration = r; | 114 registration = r; |
115 return wait_for_activated(t, registration); | 115 return wait_for_state(t, r.installing, 'activated'); |
116 }) | 116 }) |
117 .then(function() { | 117 .then(function() { |
118 worker = registration.active; | 118 worker = registration.active; |
119 return internals.terminateServiceWorker(worker); | 119 return internals.terminateServiceWorker(worker); |
120 }) | 120 }) |
121 .then(function() { | 121 .then(function() { |
122 var innerChannel = new MessageChannel(); | 122 var innerChannel = new MessageChannel(); |
123 var outerChannel = new MessageChannel(); | 123 var outerChannel = new MessageChannel(); |
124 port = innerChannel.port1; | 124 port = innerChannel.port1; |
125 port.onmessage = t.step_func(on_message); | 125 port.onmessage = t.step_func(on_message); |
(...skipping 24 matching lines...) Expand all Loading... |
150 if (message === 'quit') { | 150 if (message === 'quit') { |
151 assert_array_equals(result, expected, | 151 assert_array_equals(result, expected, |
152 'Worker should post back expected values.'); | 152 'Worker should post back expected values.'); |
153 service_worker_unregister_and_done(t, scope); | 153 service_worker_unregister_and_done(t, scope); |
154 } else { | 154 } else { |
155 result.push(message); | 155 result.push(message); |
156 } | 156 } |
157 } | 157 } |
158 }, 'postMessage on a port that was sent on a port that was sent to a terminate
d service worker'); | 158 }, 'postMessage on a port that was sent on a port that was sent to a terminate
d service worker'); |
159 </script> | 159 </script> |
OLD | NEW |