Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(193)

Side by Side Diff: LayoutTests/http/tests/serviceworker/controller-on-reload.html

Issue 468753003: SW tests update (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: 467133002 and fix test Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <title>Service Worker: Controller on reload</title> 2 <title>Service Worker: Controller on reload</title>
3 <script src="../resources/testharness.js"></script> 3 <script src="../resources/testharness.js"></script>
4 <script src="../resources/testharnessreport.js"></script> 4 <script src="../resources/testharnessreport.js"></script>
5 <script src="resources/test-helpers.js"></script> 5 <script src="resources/test-helpers.js"></script>
6 <body> 6 <body>
7 <script> 7 <script>
8 var t = async_test('controller is set upon reload after registration'); 8 var t = async_test('controller is set upon reload after registration');
9 t.step(function() { 9 t.step(function() {
10 var reloaded = false; 10 var reloaded = false;
11 var scope = 'resources/blank.html'; 11 var scope = 'resources/blank.html';
12 navigator.serviceWorker.unregister(scope).then( 12 navigator.serviceWorker.unregister(scope).then(
13 doTest, 13 doTest,
14 unreached_rejection(t, 'Unregister should not fail') 14 unreached_rejection(t, 'Unregister should not fail')
15 ); 15 );
16 16
17 function doTest() { 17 function doTest() {
18 with_iframe(scope, t.step_func(onIframeLoad)); 18 with_iframe(scope, t.step_func(onIframeLoad));
19 } 19 }
20 20
21 function onIframeLoad(frame) { 21 function onIframeLoad(frame) {
22 var w = frame.contentWindow; 22 var w = frame.contentWindow;
23
24 function onActive(event) {
25 assert_equals(w.navigator.serviceWorker.controller, null,
26 'controller should be null until the document is reload ed');
27 reloaded = true;
28 w.location.reload();
29 }
30
31 function onRegister(worker) {
32 worker.addEventListener('statechange', t.step_func(function(event) {
33 if (event.target.state == 'activated')
34 onActive();
35 }));
36 }
37
38 if (reloaded) { 23 if (reloaded) {
39 assert_true(w.navigator.serviceWorker.controller instanceof w.Servic eWorker, 24 assert_true(w.navigator.serviceWorker.controller instanceof w.Servic eWorker,
40 'controller should be a ServiceWorker object upon reload '); 25 'controller should be a ServiceWorker object upon reload ');
41 service_worker_unregister_and_done(t, scope); 26 service_worker_unregister_and_done(t, scope);
42 return; 27 return;
43 } 28 }
44 29
45 w.navigator.serviceWorker.register( 30 w.navigator.serviceWorker.register('worker-no-op.js',
46 'worker-no-op.js', {scope: 'blank.html'} 31 {scope: 'blank.html'})
47 ).then( 32 .then(function(registration) {
48 t.step_func(onRegister), 33 return wait_for_update(t, registration);
49 unreached_rejection(t, 'Registration should succeed, but failed') 34 })
50 ); 35 .then(function(worker) {
36 return wait_for_state(t, worker, 'activated');
37 })
38 .then(function() {
39 assert_equals(w.navigator.serviceWorker.controller, null,
40 'controller should be null until the document is reloa ded');
41 reloaded = true;
42 w.location.reload();
43 })
44 .catch(unreached_rejection(t));
51 } 45 }
52 }); 46 });
53 </script> 47 </script>
54 </body> 48 </body>
OLDNEW
« no previous file with comments | « LayoutTests/http/tests/serviceworker/controller-on-load.html ('k') | LayoutTests/http/tests/serviceworker/fetch.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698