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

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

Issue 1859343002: ServiceWorker: Remove iframes explicitly after a test is finished (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove a comment line Created 4 years, 8 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 <script src="../resources/testharness.js"></script> 2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script> 3 <script src="../resources/testharnessreport.js"></script>
4 <script src="resources/test-helpers.js"></script> 4 <script src="resources/test-helpers.js"></script>
5 <script> 5 <script>
6 var worker_url = 'resources/simple-intercept-worker.js'; 6 var worker_url = 'resources/simple-intercept-worker.js';
7 7
8 async_test(function(t) { 8 async_test(function(t) {
9 var scope = 9 var scope =
10 'resources/unregister-controller-page.html?load-before-unregister'; 10 'resources/unregister-controller-page.html?load-before-unregister';
11 var frame_window; 11 var frame_window;
12 var controller; 12 var controller;
13 var registration; 13 var registration;
14 14
15 service_worker_unregister_and_register(t, worker_url, scope) 15 service_worker_unregister_and_register(t, worker_url, scope)
16 .then(function(r) { 16 .then(function(r) {
17 registration = r; 17 registration = r;
18 return wait_for_state(t, r.installing, 'activated'); 18 return wait_for_state(t, r.installing, 'activated');
19 }) 19 })
20 .then(function() { 20 .then(function() {
21 return with_iframe(scope); 21 return with_iframe(scope, true);
22 }) 22 })
23 .then(function(frame) { 23 .then(function(frame) {
24 frame_window = frame.contentWindow; 24 frame_window = frame.contentWindow;
25 controller = frame_window.navigator.serviceWorker.controller; 25 controller = frame_window.navigator.serviceWorker.controller;
26 assert_true(controller instanceof frame_window.ServiceWorker, 26 assert_true(controller instanceof frame_window.ServiceWorker,
27 'document should load with a controller'); 27 'document should load with a controller');
28 return registration.unregister(); 28 return registration.unregister();
29 }) 29 })
30 .then(function() { 30 .then(function() {
31 assert_equals(frame_window.navigator.serviceWorker.controller, 31 assert_equals(frame_window.navigator.serviceWorker.controller,
(...skipping 16 matching lines...) Expand all
48 48
49 service_worker_unregister_and_register(t, worker_url, scope) 49 service_worker_unregister_and_register(t, worker_url, scope)
50 .then(function(r) { 50 .then(function(r) {
51 registration = r; 51 registration = r;
52 return wait_for_state(t, r.installing, 'activated'); 52 return wait_for_state(t, r.installing, 'activated');
53 }) 53 })
54 .then(function() { 54 .then(function() {
55 return registration.unregister(); 55 return registration.unregister();
56 }) 56 })
57 .then(function() { 57 .then(function() {
58 return with_iframe(scope); 58 return with_iframe(scope, true);
59 }) 59 })
60 .then(function(frame) { 60 .then(function(frame) {
61 var frame_window = frame.contentWindow; 61 var frame_window = frame.contentWindow;
62 assert_equals(frame_window.navigator.serviceWorker.controller, null, 62 assert_equals(frame_window.navigator.serviceWorker.controller, null,
63 'document should not have a controller'); 63 'document should not have a controller');
64 return frame_window.fetch_url('simple.txt'); 64 return frame_window.fetch_url('simple.txt');
65 }) 65 })
66 .then(function(response) { 66 .then(function(response) {
67 assert_equals(response, 'a simple text file\n', 67 assert_equals(response, 'a simple text file\n',
68 'requests should not be intercepted'); 68 'requests should not be intercepted');
69 t.done(); 69 t.done();
70 }) 70 })
71 .catch(unreached_rejection(t)); 71 .catch(unreached_rejection(t));
72 }, 'Unregister prevents control of subsequent navigations'); 72 }, 'Unregister prevents control of subsequent navigations');
73 73
74 async_test(function(t) { 74 async_test(function(t) {
75 var scope = 75 var scope =
76 'resources/scope/no-new-controllee-even-if-registration-is-still-used'; 76 'resources/scope/no-new-controllee-even-if-registration-is-still-used';
77 var registration; 77 var registration;
78 78
79 service_worker_unregister_and_register(t, worker_url, scope) 79 service_worker_unregister_and_register(t, worker_url, scope)
80 .then(function(r) { 80 .then(function(r) {
81 registration = r; 81 registration = r;
82 return wait_for_state(t, r.installing, 'activated'); 82 return wait_for_state(t, r.installing, 'activated');
83 }) 83 })
84 .then(function() { 84 .then(function() {
85 return with_iframe(scope); 85 return with_iframe(scope, true);
86 }) 86 })
87 .then(function(frame) { 87 .then(function(frame) {
88 return registration.unregister(); 88 return registration.unregister();
89 }) 89 })
90 .then(function() { 90 .then(function() {
91 return with_iframe(scope); 91 return with_iframe(scope, true);
92 }) 92 })
93 .then(function(frame) { 93 .then(function(frame) {
94 assert_equals(frame.contentWindow.navigator.serviceWorker.controller, 94 assert_equals(frame.contentWindow.navigator.serviceWorker.controller,
95 null, 95 null,
96 'document should not have a controller'); 96 'document should not have a controller');
97 t.done(); 97 t.done();
98 }) 98 })
99 .catch(unreached_rejection(t)); 99 .catch(unreached_rejection(t));
100 }, 'Unregister prevents new controllee even if registration is still in use'); 100 }, 'Unregister prevents new controllee even if registration is still in use');
101 </script> 101 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698