Index: LayoutTests/http/tests/serviceworker/activation-after-registration.html |
diff --git a/LayoutTests/http/tests/serviceworker/activation-after-registration.html b/LayoutTests/http/tests/serviceworker/activation-after-registration.html |
index a1fbe2e28ea5be0ec887aededcc1ff81ddb8c357..e2feb7e6dd9abe47568352093e4b9fc760eeb793 100644 |
--- a/LayoutTests/http/tests/serviceworker/activation-after-registration.html |
+++ b/LayoutTests/http/tests/serviceworker/activation-after-registration.html |
@@ -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).then(t.step_func(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 == 'activated') |
- 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> |