| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <title>Service Worker: postMessage to Client</title> | 2 <title>Service Worker: postMessage to Client</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/test-helpers.js"></script> | 5 <script src="resources/test-helpers.js"></script> |
| 6 <script> | 6 <script> |
| 7 var t = async_test('postMessage from ServiceWorker to Client'); | 7 var t = async_test('postMessage from ServiceWorker to Client'); |
| 8 t.step(function() { | 8 t.step(function() { |
| 9 var scope = 'resources/blank.html' | 9 var scope = 'resources/blank.html' |
| 10 service_worker_unregister_and_register( | 10 service_worker_unregister_and_register( |
| 11 t, 'resources/postmessage-to-client-worker.js', scope, onRegister); | 11 t, 'resources/postmessage-to-client-worker.js', scope, onRegister); |
| 12 | 12 |
| 13 function onRegister(worker) { | 13 function onRegister(worker) { |
| 14 worker.addEventListener('statechange', t.step_func(function(event) { | 14 worker.addEventListener('statechange', t.step_func(function(event) { |
| 15 if (event.target.state == 'active') | 15 if (event.target.state == 'active') |
| 16 onActive(); | 16 onActive(); |
| 17 })); | 17 })); |
| 18 } | 18 } |
| 19 | 19 |
| 20 function onActive() { | 20 function onActive() { |
| 21 with_iframe(scope, t.step_func(function(frame) { | 21 with_iframe(scope, t.step_func(function(frame) { |
| 22 var w = frame.contentWindow; | 22 var w = frame.contentWindow; |
| 23 w.onmessage = t.step_func(onMessage); | 23 w.onmessage = t.step_func(onMessage); |
| 24 w.navigator.serviceWorker.current.postMessage('ping'); | 24 w.navigator.serviceWorker.controller.postMessage('ping'); |
| 25 })); | 25 })); |
| 26 } | 26 } |
| 27 | 27 |
| 28 var result = []; | 28 var result = []; |
| 29 var expected = ['Sending message via clients']; | 29 var expected = ['Sending message via clients']; |
| 30 | 30 |
| 31 function onMessage(e) { | 31 function onMessage(e) { |
| 32 var message = e.data; | 32 var message = e.data; |
| 33 if (message === 'quit') { | 33 if (message === 'quit') { |
| 34 assert_array_equals(result, expected, 'Worker should post back expec
ted messages.'); | 34 assert_array_equals(result, expected, 'Worker should post back expec
ted messages.'); |
| 35 service_worker_unregister_and_done(t, scope); | 35 service_worker_unregister_and_done(t, scope); |
| 36 } else { | 36 } else { |
| 37 result.push(message); | 37 result.push(message); |
| 38 } | 38 } |
| 39 } | 39 } |
| 40 }); | 40 }); |
| 41 </script> | 41 </script> |
| OLD | NEW |