Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-get-client-types.https.html |
| diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-get-client-types.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-get-client-types.https.html |
| index 5bb312844af978c86b6fd3581eafa0de7ece5e32..39e7328b14dd6e10b33b84dc8f9997b269f3c715 100644 |
| --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-get-client-types.https.html |
| +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-get-client-types.https.html |
| @@ -7,6 +7,7 @@ |
| var scope = 'resources/clients-get-client-types'; |
| var frame_url = scope + '-frame.html'; |
| var shared_worker_url = scope + '-shared-worker.js'; |
| +var worker_url = scope + '-worker.js'; |
| var client_ids = []; |
| var frame; |
| promise_test(function(t) { |
| @@ -37,6 +38,28 @@ promise_test(function(t) { |
| .then(function(client_id) { |
| client_ids.push(client_id); |
| var channel = new MessageChannel(); |
| + var w = new Worker(worker_url); |
| + w.postMessage({cmd:'GetClientId', port:channel.port2}, |
| + [channel.port2]); |
| + return new Promise(function(resolve) { |
| + channel.port1.onmessage = function(e) { |
| + resolve(e.data.clientId); |
| + }; |
| + }); |
| + }) |
| + .then(function(client_id) { |
| + client_ids.push(client_id); |
| + var channel = new MessageChannel(); |
| + frame.contentWindow.postMessage('StartWorker', '*', [channel.port2]); |
| + return new Promise(function(resolve) { |
| + channel.port1.onmessage = function(e) { |
| + resolve(e.data.clientId); |
| + }; |
| + }); |
| + }) |
| + .then(function(client_id) { |
| + client_ids.push(client_id); |
| + var channel = new MessageChannel(); |
| var saw_message = new Promise(function(resolve) { |
| channel.port1.onmessage = resolve; |
| }); |
| @@ -45,9 +68,19 @@ promise_test(function(t) { |
| return saw_message; |
| }) |
| .then(function(e) { |
| - assert_equals(e.data.length, 2); |
| + assert_equals(e.data.length, expected.length); |
| + assert_not_equals(e.data[0], undefined, |
| + 'Window client should not be undefined'); |
| assert_array_equals(e.data[0], expected[0]); |
| + assert_not_equals(e.data[1], undefined, |
| + 'Shared worker client should not be undefined'); |
| assert_array_equals(e.data[1], expected[1]); |
| + assert_not_equals(e.data[2], undefined, |
| + 'Worker(Started by main frame) client should not be undefined'); |
| + assert_array_equals(e.data[2], expected[2]); |
| + assert_not_equals(e.data[3], undefined, |
| + 'Worker(Started by sub frame) client should not be undefined'); |
| + assert_array_equals(e.data[3], expected[3]); |
|
falken
2017/05/26 04:24:58
let's remove the asserts that it's not undefined a
leonhsl(Using Gerrit)
2017/05/26 05:27:32
Done.
|
| }); |
| }, 'Test Clients.get() with window and worker clients'); |
| @@ -64,6 +97,8 @@ function wait_for_clientId() { |
| var expected = [ |
| // visibilityState, focused, url, type, frameType |
| ['visible', true, normalizeURL(scope) + '-frame.html', 'window', 'nested'], |
| - [undefined, undefined, normalizeURL(scope) + '-shared-worker.js', 'sharedworker', 'none'] |
| + [undefined, undefined, normalizeURL(scope) + '-shared-worker.js', 'sharedworker', 'none'], |
| + [undefined, undefined, normalizeURL(scope) + '-worker.js', 'worker', 'none'], |
| + [undefined, undefined, normalizeURL(scope) + '-frame-worker.js', 'worker', 'none'] |
| ]; |
| </script> |