Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / serviceworker / activation-after-registration.html
index 74a332c..e2feb7e 100644 (file)
@@ -8,16 +8,22 @@
 var t = async_test('activation occurs after registration');
 t.step(function() {
     var scope = 'resources/blank.html';
-    service_worker_unregister_and_register(
-        t, 'resources/worker-no-op.js', scope, onRegister);
+    var registration;
 
-    function onRegister(worker) {
-        assert_equals(worker.state, 'parsed', 'worker should be in the "parsed" state upon registration');
-        worker.addEventListener('statechange', t.step_func(function(event) {
-            if (event.target.state == 'active')
-                service_worker_unregister_and_done(t, scope);
-        }));
-    }
+    service_worker_unregister_and_register(
+        t, 'resources/worker-no-op.js', scope)
+      .then(t.step_func(function(r) {
+          registration = r;
+          return wait_for_update(t, registration);
+        }))
+      .then(t.step_func(function(worker) {
+          assert_equals(worker.state, 'parsed', 'worker should be in the "parsed" state upon registration');
+          worker.addEventListener('statechange', t.step_func(function(event) {
+              if (event.target.state == 'activated')
+                  service_worker_unregister_and_done(t, scope);
+          }));
+        }))
+      .catch(unreached_rejection(t));
 });
 </script>
 </body>