| 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 async_test(function(t) { |   6 async_test(function(t) { | 
|   7   navigator.serviceWorker.unregister('http://example.com/') |   7   navigator.serviceWorker.unregister('http://example.com/') | 
|   8     .then(function() { |   8     .then(function() { | 
|   9       assert_unreached('unregistering out of origin should fail'); |   9       assert_unreached('unregistering out of origin should fail'); | 
|  10     }, function(reason) { |  10     }, function(reason) { | 
|  11       assert_equals(reason.name, 'SecurityError', |  11       assert_equals(reason.name, 'SecurityError', | 
|  12                     'unregistering out of origin scope should fail'); |  12                     'unregistering out of origin scope should fail'); | 
|  13       t.done(); |  13       t.done(); | 
|  14     }) |  14     }) | 
|  15     .catch(unreached_rejection(t)); |  15     .catch(unreached_rejection(t)); | 
|  16 }, 'Unregistering out of origin'); |  16   }, 'Unregistering out of origin'); | 
|  17  |  17  | 
|  18 async_test(function(t) { |  18 async_test(function(t) { | 
|  19   navigator.serviceWorker.unregister('/nothing-here/') |  19   navigator.serviceWorker.unregister('/nothing-here/') | 
|  20     .then(function(value) { |  20     .then(function(value) { | 
|  21       assert_equals(value, undefined, |  21       assert_equals(value, undefined, | 
|  22                     'unregistering with no existing registration should ' + |  22                     'unregistering with no existing registration should ' + | 
|  23                     'succeed with no value'); |  23                     'succeed with no value'); | 
|  24       t.done(); |  24       t.done(); | 
|  25     }) |  25     }) | 
|  26     .catch(unreached_rejection(t)); |  26     .catch(unreached_rejection(t)); | 
|  27 }, 'Unregistering with no existing registration'); |  27   }, 'Unregistering with no existing registration'); | 
|  28  |  28  | 
|  29 async_test(function(t) { |  29 async_test(function(t) { | 
|  30   var scope = '/register-then-unregister/'; |  30   var scope = '/register-then-unregister/'; | 
|  31   navigator.serviceWorker.register( |  31   navigator.serviceWorker.register( | 
|  32     'resources/empty-worker.js', {scope: scope}) |  32     'resources/empty-worker.js', {scope: scope}) | 
|  33     .then(function(worker) { |  33     .then(function(worker) { | 
|  34       return navigator.serviceWorker.unregister(scope); |  34       return navigator.serviceWorker.unregister(scope); | 
|  35     }) |  35     }) | 
|  36     .then(function(value) { |  36     .then(function(value) { | 
|  37       assert_equals(value, undefined, |  37       assert_equals(value, undefined, | 
|  38                     'successful unregistration should succeed with no value'); |  38                     'successful unregistration should succeed with no value'); | 
|  39       t.done(); |  39       t.done(); | 
|  40     }) |  40     }) | 
|  41     .catch(unreached_rejection(t)); |  41     .catch(unreached_rejection(t)); | 
|  42 }, 'Register then unregister'); |  42   }, 'Register then unregister'); | 
|  43  |  43  | 
|  44 async_test(function(t) { |  44 async_test(function(t) { | 
|  45   var state_promise; |  45   var state_promise; | 
|  46   service_worker_unregister_and_register(t, 'resources/empty-worker.js') |  46   service_worker_unregister_and_register(t, 'resources/empty-worker.js') | 
 |  47     .then(function(registration) { | 
 |  48       return wait_for_update(t, registration); | 
 |  49     }) | 
|  47     .then(function(sw) { |  50     .then(function(sw) { | 
|  48       state_promise = wait_for_state(t, sw, 'redundant'); |  51       state_promise = wait_for_state(t, sw, 'redundant'); | 
|  49       return navigator.serviceWorker.unregister(); |  52       return navigator.serviceWorker.unregister(); | 
|  50     }) |  53     }) | 
|  51     .then(function(value) { |  54     .then(function(value) { | 
|  52       assert_equals(value, undefined, |  55       assert_equals(value, undefined, | 
|  53                     'unregister with default scope should succeed'); |  56                     'unregister with default scope should succeed'); | 
|  54       return state_promise; |  57       return state_promise; | 
|  55     }) |  58     }) | 
|  56     .then(function(state) { |  59     .then(function(state) { | 
|  57       assert_equals(state, 'redundant', |  60       assert_equals(state, 'redundant', | 
|  58                     'service worker registered with default scope should be ' + |  61                     'service worker registered with default scope should be ' + | 
|  59                     'unregstered'); |  62                     'unregstered'); | 
|  60       t.done(); |  63       t.done(); | 
|  61     }) |  64     }) | 
|  62     .catch(unreached_rejection(t)); |  65     .catch(unreached_rejection(t)); | 
|  63 }, 'Unregistering with default scope'); |  66 }, 'Unregistering with default scope'); | 
|  64  |  67  | 
|  65 </script> |  68 </script> | 
| OLD | NEW |