| OLD | NEW |
| 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/empty-worker.js'; | 6 var worker_url = 'resources/empty-worker.js'; |
| 7 | 7 |
| 8 async_test(function(t) { | 8 async_test(function(t) { |
| 9 var scope = 'resources/scope/register-waits-for-unregistered-registration-to
-clear'; | 9 var scope = 'resources/scope/register-waits-for-unregistered-registration-to
-clear'; |
| 10 var new_worker_url = worker_url + '?new'; | 10 var new_worker_url = worker_url + '?new'; |
| 11 var iframe; | 11 var iframe; |
| 12 var registration; | 12 var registration; |
| 13 var unloaded = false; | 13 var unloaded = false; |
| 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_update(t, registration); | 18 return wait_for_state(t, r.installing, 'activated'); |
| 19 }) | |
| 20 .then(function(worker) { | |
| 21 return wait_for_state(t, worker, 'activated'); | |
| 22 }) | 19 }) |
| 23 .then(function() { | 20 .then(function() { |
| 24 return with_iframe(scope); | 21 return with_iframe(scope); |
| 25 }) | 22 }) |
| 26 .then(function(frame) { | 23 .then(function(frame) { |
| 27 iframe = frame; | 24 iframe = frame; |
| 28 return registration.unregister(); | 25 return registration.unregister(); |
| 29 }) | 26 }) |
| 30 .then(function() { | 27 .then(function() { |
| 31 setTimeout(function() { | 28 setTimeout(function() { |
| (...skipping 21 matching lines...) Expand all Loading... |
| 53 | 50 |
| 54 async_test(function(t) { | 51 async_test(function(t) { |
| 55 var scope = 'resources/scope/unregister-then-register-new-script-that-exists
'; | 52 var scope = 'resources/scope/unregister-then-register-new-script-that-exists
'; |
| 56 var new_worker_url = worker_url + '?new'; | 53 var new_worker_url = worker_url + '?new'; |
| 57 var iframe; | 54 var iframe; |
| 58 var registration; | 55 var registration; |
| 59 | 56 |
| 60 service_worker_unregister_and_register(t, worker_url, scope) | 57 service_worker_unregister_and_register(t, worker_url, scope) |
| 61 .then(function(r) { | 58 .then(function(r) { |
| 62 registration = r; | 59 registration = r; |
| 63 return wait_for_update(t, registration); | 60 return wait_for_state(t, r.installing, 'activated'); |
| 64 }) | |
| 65 .then(function(worker) { | |
| 66 return wait_for_state(t, worker, 'activated'); | |
| 67 }) | 61 }) |
| 68 .then(function() { | 62 .then(function() { |
| 69 return with_iframe(scope); | 63 return with_iframe(scope); |
| 70 }) | 64 }) |
| 71 .then(function(frame) { | 65 .then(function(frame) { |
| 72 iframe = frame; | 66 iframe = frame; |
| 73 return registration.unregister(); | 67 return registration.unregister(); |
| 74 }) | 68 }) |
| 75 .then(function() { | 69 .then(function() { |
| 76 var promise = navigator.serviceWorker.register(new_worker_url, | 70 var promise = navigator.serviceWorker.register(new_worker_url, |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 }, 'Registering a new script URL while an unregistered registration is in use'); | 112 }, 'Registering a new script URL while an unregistered registration is in use'); |
| 119 | 113 |
| 120 async_test(function(t) { | 114 async_test(function(t) { |
| 121 var scope = 'resources/scope/unregister-then-register-new-script-that-404s'; | 115 var scope = 'resources/scope/unregister-then-register-new-script-that-404s'; |
| 122 var iframe; | 116 var iframe; |
| 123 var registration; | 117 var registration; |
| 124 | 118 |
| 125 service_worker_unregister_and_register(t, worker_url, scope) | 119 service_worker_unregister_and_register(t, worker_url, scope) |
| 126 .then(function(r) { | 120 .then(function(r) { |
| 127 registration = r; | 121 registration = r; |
| 128 return wait_for_update(t, registration); | 122 return wait_for_state(t, r.installing, 'activated'); |
| 129 }) | |
| 130 .then(function(worker) { | |
| 131 return wait_for_state(t, worker, 'activated'); | |
| 132 }) | 123 }) |
| 133 .then(function() { | 124 .then(function() { |
| 134 return with_iframe(scope); | 125 return with_iframe(scope); |
| 135 }) | 126 }) |
| 136 .then(function(frame) { | 127 .then(function(frame) { |
| 137 iframe = frame; | 128 iframe = frame; |
| 138 return registration.unregister(); | 129 return registration.unregister(); |
| 139 }) | 130 }) |
| 140 .then(function() { | 131 .then(function() { |
| 141 var promise = navigator.serviceWorker.register('this-will-404', | 132 var promise = navigator.serviceWorker.register('this-will-404', |
| (...skipping 20 matching lines...) Expand all Loading... |
| 162 'unregistered registration'); | 153 'unregistered registration'); |
| 163 | 154 |
| 164 async_test(function(t) { | 155 async_test(function(t) { |
| 165 var scope = 'resources/scope/unregister-then-register-reject-install-worker'
; | 156 var scope = 'resources/scope/unregister-then-register-reject-install-worker'
; |
| 166 var iframe; | 157 var iframe; |
| 167 var registration; | 158 var registration; |
| 168 | 159 |
| 169 service_worker_unregister_and_register(t, worker_url, scope) | 160 service_worker_unregister_and_register(t, worker_url, scope) |
| 170 .then(function(r) { | 161 .then(function(r) { |
| 171 registration = r; | 162 registration = r; |
| 172 return wait_for_update(t, registration); | 163 return wait_for_state(t, r.installing, 'activated'); |
| 173 }) | |
| 174 .then(function(worker) { | |
| 175 return wait_for_state(t, worker, 'activated'); | |
| 176 }) | 164 }) |
| 177 .then(function() { | 165 .then(function() { |
| 178 return with_iframe(scope); | 166 return with_iframe(scope); |
| 179 }) | 167 }) |
| 180 .then(function(frame) { | 168 .then(function(frame) { |
| 181 iframe = frame; | 169 iframe = frame; |
| 182 return registration.unregister(); | 170 return registration.unregister(); |
| 183 }) | 171 }) |
| 184 .then(function() { | 172 .then(function() { |
| 185 var promise = navigator.serviceWorker.register( | 173 var promise = navigator.serviceWorker.register( |
| 186 'resources/reject-install-worker.js', { scope: scope }); | 174 'resources/reject-install-worker.js', { scope: scope }); |
| 187 unload_iframe(iframe); | 175 unload_iframe(iframe); |
| 188 return promise; | 176 return promise; |
| 189 }) | 177 }) |
| 190 .then(function(r) { | 178 .then(function(r) { |
| 191 registration = r; | 179 registration = r; |
| 192 return wait_for_update(t, registration); | 180 return wait_for_state(t, r.installing, 'redundant'); |
| 193 }) | |
| 194 .then(function(worker) { | |
| 195 return wait_for_state(t, worker, 'redundant'); | |
| 196 }) | 181 }) |
| 197 .then(function() { | 182 .then(function() { |
| 198 return with_iframe(scope); | 183 return with_iframe(scope); |
| 199 }) | 184 }) |
| 200 .then(function(frame) { | 185 .then(function(frame) { |
| 201 assert_equals(frame.contentWindow.navigator.serviceWorker.controller, | 186 assert_equals(frame.contentWindow.navigator.serviceWorker.controller, |
| 202 null, | 187 null, |
| 203 'document should not load with a controller'); | 188 'document should not load with a controller'); |
| 204 unload_iframe(frame); | 189 unload_iframe(frame); |
| 205 return registration.unregister(); | 190 return registration.unregister(); |
| 206 }) | 191 }) |
| 207 .then(function() { | 192 .then(function() { |
| 208 t.done(); | 193 t.done(); |
| 209 }) | 194 }) |
| 210 .catch(unreached_rejection(t)); | 195 .catch(unreached_rejection(t)); |
| 211 }, 'Registering a new script URL that fails to install does not resurrect ' + | 196 }, 'Registering a new script URL that fails to install does not resurrect ' + |
| 212 'an unregistered registration'); | 197 'an unregistered registration'); |
| 213 </script> | 198 </script> |
| OLD | NEW |