Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <html> | 2 <html> |
| 3 <head> | 3 <head> |
| 4 <title>ServiceWorkerGlobalScope expose test.</title> | 4 <title>ServiceWorkerGlobalScope expose test.</title> |
| 5 <script src="../../resources/testharness.js"></script> | 5 <script src="../../js-test-resources/js-test.js"></script> |
| 6 <script src="../../resources/testharnessreport.js"></script> | |
| 7 <script src="../resources/test-helpers.js"></script> | |
| 8 </head> | 6 </head> |
| 9 <body> | 7 <body> |
| 10 <script> | 8 <div id="console"></div> |
| 9 <script> | |
| 10 // We can't use testharness.js in this test because this needs to dump text | |
| 11 // other than PASS/FAIL. | |
| 11 | 12 |
| 12 async_test(function(t) { | 13 jsTestIsAsync = true; |
| 13 service_worker_unregister_and_register( | |
| 14 t, 'resources/global-interface-listing-worker.js', | |
| 15 'resources/global-interface-listing-worker') | |
| 16 .then(function(registration) { | |
| 17 var sw = registration.installing; | |
| 18 var message_channel = new MessageChannel; | |
| 19 message_channel.port1.onmessage = t.step_func(on_message); | |
| 20 sw.postMessage(null, [message_channel.port2]); | |
| 21 }).catch(unreached_rejection(t)); | |
| 22 | 14 |
| 23 function on_message(evt) { | 15 function unregister_service_worker(documentUrl) { |
|
falken
2016/05/17 01:51:33
document_url for consistency
tkent
2016/05/17 03:38:24
Done
| |
| 24 var pre = document.createElement('pre'); | 16 return navigator.serviceWorker.getRegistration(documentUrl) |
| 25 pre.appendChild(document.createTextNode(evt.data.result.join('\n'))); | 17 .then(function(registration) { |
| 26 document.body.appendChild(pre); | 18 if (registration) |
| 19 return registration.unregister(); | |
| 20 }).catch(function() { | |
| 21 testFailed('getRegistration() should not fail'); | |
| 22 finishJSTest(); | |
| 23 }); | |
|
falken
2016/05/17 01:51:33
I would just have this return a promise:
return n
tkent
2016/05/17 03:38:24
Done.
| |
| 24 } | |
| 27 | 25 |
| 28 service_worker_unregister_and_done(t); | 26 var scope = 'resources/global-interface-listing-worker'; |
| 29 }; | 27 var options = { scope: scope }; |
| 30 }, 'Verify the interface of ServiceWorkerGlobalScope'); | 28 unregister_service_worker(scope) |
| 31 | 29 .then(() => { |
| 32 </script> | 30 return navigator.serviceWorker.register( |
| 31 'resources/global-interface-listing-worker.js', | |
| 32 options); | |
| 33 }) | |
| 34 .then(registration => { | |
| 35 var sw = registration.installing; | |
| 36 return new Promise(resolve => { | |
| 37 var message_channel = new MessageChannel; | |
| 38 message_channel.port1.onmessage = (evt => resolve(evt)); | |
| 39 sw.postMessage(null, [message_channel.port2]); | |
| 40 }); | |
| 41 }) | |
| 42 .then(evt => { | |
| 43 var pre = document.createElement('pre'); | |
| 44 pre.appendChild(document.createTextNode(evt.data.result.join('\n'))); | |
| 45 document.body.insertBefore(pre, document.body.firstChild); | |
| 46 return unregister_service_worker(scope); | |
| 47 }) | |
| 48 .then(() => { | |
| 49 testPassed('Verify the interface of ServiceWorkerGlobalScope'); | |
| 50 finishJSTest(); | |
| 51 }) | |
| 52 .catch(error => { | |
| 53 testFailed('error: ' + (error.message || error.name || error)); | |
| 54 finishJSTest(); | |
| 55 }); | |
| 56 </script> | |
| 33 </body> | 57 </body> |
| 34 </html> | 58 </html> |
| OLD | NEW |