2 <title>Service Worker: postMessage to Client</title>
3 <script src="../resources/testharness.js"></script>
4 <script src="../resources/testharnessreport.js"></script>
5 <script src="resources/test-helpers.js"></script>
7 var t = async_test('postMessage from ServiceWorker to Client');
9 var scope = 'resources/blank.html'
10 service_worker_unregister_and_register(
11 t, 'resources/postmessage-to-client-worker.js', scope, onRegister);
13 function onRegister(worker) {
14 worker.addEventListener('statechange', t.step_func(function(event) {
15 if (event.target.state == 'active')
21 with_iframe(scope, t.step_func(function(frame) {
22 var w = frame.contentWindow;
23 w.onmessage = t.step_func(onMessage);
24 w.navigator.serviceWorker.controller.postMessage('ping');
29 var expected = ['Sending message via clients'];
31 function onMessage(e) {
33 if (message === 'quit') {
34 assert_array_equals(result, expected, 'Worker should post back expected messages.');
35 service_worker_unregister_and_done(t, scope);