Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / serviceworker / postmessage-to-client.html
index 03ac1c0..2f55dcc 100644 (file)
@@ -1,41 +1,40 @@
 <!DOCTYPE html>
-<title>Service Worker: postMessage to Client</title>
+<title>Service Worker: postMessage to ServiceWorkerClient</title>
 <script src="../resources/testharness.js"></script>
 <script src="../resources/testharnessreport.js"></script>
 <script src="resources/test-helpers.js"></script>
 <script>
-var t = async_test('postMessage from ServiceWorker to Client');
+var t = async_test('postMessage from ServiceWorker to ServiceWorkerClient');
 t.step(function() {
     var scope = 'resources/blank.html'
     service_worker_unregister_and_register(
-        t, 'resources/postmessage-to-client-worker.js', scope, onRegister);
-
-    function onRegister(worker) {
-        worker.addEventListener('statechange', t.step_func(function(event) {
-            if (event.target.state == 'active')
-                onActive();
-        }));
-    }
-
-    function onActive() {
-        with_iframe(scope, t.step_func(function(frame) {
-            var w = frame.contentWindow;
-            w.onmessage = t.step_func(onMessage);
-            w.navigator.serviceWorker.controller.postMessage('ping');
-        }));
-    }
+        t, 'resources/postmessage-to-client-worker.js', scope)
+      .then(function(registration) {
+          return wait_for_update(t, registration);
+        })
+      .then(function(sw) {
+          return wait_for_state(t, sw, 'activated');
+        })
+      .then(function() { return with_iframe(scope); })
+      .then(function(frame) {
+          var w = frame.contentWindow;
+          w.onmessage = t.step_func(onMessage);
+          w.navigator.serviceWorker.controller.postMessage('ping');
+        })
+      .catch(unreached_rejection(t));
 
     var result = [];
     var expected = ['Sending message via clients'];
 
     function onMessage(e) {
-        var message = e.data;
-        if (message === 'quit') {
-            assert_array_equals(result, expected, 'Worker should post back expected messages.');
-            service_worker_unregister_and_done(t, scope);
-        } else {
-            result.push(message);
-        }
+      var message = e.data;
+      if (message === 'quit') {
+        assert_array_equals(result, expected,
+                            'Worker should post back expected messages.');
+        service_worker_unregister_and_done(t, scope);
+      } else {
+        result.push(message);
+      }
     }
-});
+  });
 </script>