Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / http / tests / serviceworker / activation-after-registration.html
1 <!DOCTYPE html>
2 <title>Service Worker: Activation occurs after registration</title>
3 <script src="../resources/testharness.js"></script>
4 <script src="../resources/testharnessreport.js"></script>
5 <script src="resources/test-helpers.js"></script>
6 <body>
7 <script>
8 var t = async_test('activation occurs after registration');
9 t.step(function() {
10     var scope = 'resources/blank.html';
11     navigator.serviceWorker.unregister(scope).then(
12         doTest,
13         unreached_rejection(t, 'Unregister should not fail')
14     );
15
16     function doTest() {
17         navigator.serviceWorker.register(
18             'resources/worker-no-op.js', {scope: scope}
19         ).then(t.step_func(onRegister), t.step_func(function(reason) {
20             assert_unreached('Registration should succeed, but failed: ' + reason.name);
21         }));
22     }
23
24     function onRegister(worker) {
25         assert_equals(worker.state, 'parsed', 'worker should be in the "parsed" state upon registration');
26         worker.addEventListener('statechange', t.step_func(function(event) {
27             if (event.target.state == 'active')
28                 t.done();
29         }));
30     }
31 });
32 </script>
33 </body>