Index: third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker.html |
diff --git a/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker.html b/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker.html |
index 1a3a958d538883ee8c35322ca47d72e62086dfa8..1d513295fc2653ff403b3cb92adedb11fe6377e0 100644 |
--- a/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker.html |
+++ b/third_party/WebKit/LayoutTests/http/tests/serviceworker/webexposed/global-interface-listing-service-worker.html |
@@ -2,33 +2,54 @@ |
<html> |
<head> |
<title>ServiceWorkerGlobalScope expose test.</title> |
- <script src="../../resources/testharness.js"></script> |
- <script src="../../resources/testharnessreport.js"></script> |
- <script src="../resources/test-helpers.js"></script> |
+ <script src="../../js-test-resources/js-test.js"></script> |
</head> |
<body> |
- <script> |
+<div id="console"></div> |
+<script> |
+// We can't use testharness.js in this test because this needs to dump text |
+// other than PASS/FAIL. |
- async_test(function(t) { |
- service_worker_unregister_and_register( |
- t, 'resources/global-interface-listing-worker.js', |
- 'resources/global-interface-listing-worker') |
- .then(function(registration) { |
- var sw = registration.installing; |
- var message_channel = new MessageChannel; |
- message_channel.port1.onmessage = t.step_func(on_message); |
- sw.postMessage(null, [message_channel.port2]); |
- }).catch(unreached_rejection(t)); |
+jsTestIsAsync = true; |
- function on_message(evt) { |
- var pre = document.createElement('pre'); |
- pre.appendChild(document.createTextNode(evt.data.result.join('\n'))); |
- document.body.appendChild(pre); |
+function unregister_service_worker(document_url) { |
+ return navigator.serviceWorker.getRegistration(document_url) |
+ .then(registration => { |
+ if (registration) |
+ return registration.unregister(); |
+ }); |
+} |
- service_worker_unregister_and_done(t); |
- }; |
- }, 'Verify the interface of ServiceWorkerGlobalScope'); |
- |
- </script> |
+var scope = 'resources/global-interface-listing-worker'; |
+var options = { scope: scope }; |
+unregister_service_worker(scope) |
+ .then(() => { |
+ return navigator.serviceWorker.register( |
+ 'resources/global-interface-listing-worker.js', |
+ options); |
+ }) |
+ .then(registration => { |
+ var sw = registration.installing; |
+ return new Promise(resolve => { |
+ var message_channel = new MessageChannel; |
+ message_channel.port1.onmessage = (evt => resolve(evt)); |
+ sw.postMessage(null, [message_channel.port2]); |
+ }); |
+ }) |
+ .then(evt => { |
+ var pre = document.createElement('pre'); |
+ pre.appendChild(document.createTextNode(evt.data.result.join('\n'))); |
+ document.body.insertBefore(pre, document.body.firstChild); |
+ return unregister_service_worker(scope); |
+ }) |
+ .then(() => { |
+ testPassed('Verify the interface of ServiceWorkerGlobalScope'); |
+ finishJSTest(); |
+ }) |
+ .catch(error => { |
+ testFailed('error: ' + (error.message || error.name || error)); |
+ finishJSTest(); |
+ }); |
+</script> |
</body> |
</html> |