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

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

Issue 358553003: Service Worker: add layout tests for behavior of controller after unregister (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: feedback Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « LayoutTests/http/tests/serviceworker/resources/unregister-controller-page.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script>
4 <script src="resources/test-helpers.js"></script>
5 <script>
6 var worker_url = 'resources/simple-intercept-worker.js';
7
8 async_test(function(t) {
9 var scope = 'resources/unregister-controller-page.html?load-before-unregiste r';
10
11 service_worker_unregister_and_register(t, worker_url, scope).then(t.step_fun c(function(worker) {
12 worker.addEventListener('statechange', t.step_func(on_state_change));
13 }));
14
15 function on_state_change(event) {
16 if (event.target.state != 'active')
17 return;
18 with_iframe(scope, t.step_func(function(frame) {
19 var w = frame.contentWindow;
20 assert_true(w.navigator.serviceWorker.controller instanceof w.Servic eWorker,
21 'document should load with a controller');
22 w.fetch_url('simple.txt').then(t.step_func(function(response) {
23 assert_equals(response, 'intercepted by service worker', 'contro ller should intercept requests');
24 t.done();
25 }), unreached_rejection(t, 'fetch failed'));
26 }));
27 }
28 }, 'Unregister does not affect existing controller');
29
30 async_test(function(t) {
31 var scope = 'resources/unregister-controller-page.html?load-after-unregister ';
32
33 service_worker_unregister_and_register(t, worker_url, scope).then(t.step_fun c(function(worker) {
34 worker.addEventListener('statechange', t.step_func(on_state_change));
35 }));
36
37 function on_state_change(event) {
38 if (event.target.state != 'active')
39 return;
40 navigator.serviceWorker.unregister(scope).then(t.step_func(function() {
41 with_iframe(scope, t.step_func(function(frame) {
42 var w = frame.contentWindow;
43 assert_equals(w.navigator.serviceWorker.controller, null, 'docum ent should not have a controller');
44 w.fetch_url('simple.txt').then(t.step_func(function(response) {
45 assert_equals(response, 'a simple text file\n', 'requests sh ould not be intercepted');
46 t.done();
47 }), unreached_rejection(t, 'fetch failed'));
48 }));
49 }));
50 }
51 }, 'Unregister prevents control of subsequent navigations');
52 </script>
OLDNEW
« no previous file with comments | « LayoutTests/http/tests/serviceworker/resources/unregister-controller-page.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698