| Index: third_party/WebKit/LayoutTests/imported/wpt/service-workers/service-worker/clients-get.https.html
 | 
| diff --git a/third_party/WebKit/LayoutTests/imported/wpt/service-workers/service-worker/clients-get.https.html b/third_party/WebKit/LayoutTests/imported/wpt/service-workers/service-worker/clients-get.https.html
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..af38502dd9fc7c519e846629c6cc2b59cd820d4b
 | 
| --- /dev/null
 | 
| +++ b/third_party/WebKit/LayoutTests/imported/wpt/service-workers/service-worker/clients-get.https.html
 | 
| @@ -0,0 +1,70 @@
 | 
| +<!DOCTYPE html>
 | 
| +<title>Service Worker: Clients.get</title>
 | 
| +<script src="/resources/testharness.js"></script>
 | 
| +<script src="/resources/testharnessreport.js"></script>
 | 
| +<script src="resources/get-host-info.sub.js"></script>
 | 
| +<script src="resources/test-helpers.sub.js"></script>
 | 
| +<script>
 | 
| +var host_info = get_host_info();
 | 
| +
 | 
| +var scope = 'resources/clients-get-frame.html';
 | 
| +var t = async_test('Test Clients.get()');
 | 
| +var clientIds = [];
 | 
| +var frame;
 | 
| +t.step(function() {
 | 
| +    service_worker_unregister_and_register(
 | 
| +        t, 'resources/clients-get-worker.js', scope)
 | 
| +      .then(function(registration) {
 | 
| +          return wait_for_state(t, registration.installing, 'activated');
 | 
| +        })
 | 
| +      .then(function() {
 | 
| +          return with_iframe(scope + '#1');
 | 
| +        })
 | 
| +      .then(function(frame1) {
 | 
| +          frame1.focus();
 | 
| +          return wait_for_clientId();
 | 
| +        })
 | 
| +      .then(function(clientId) {
 | 
| +          clientIds.push(clientId);
 | 
| +          return with_iframe(scope + '#2');
 | 
| +        })
 | 
| +      .then(function(frame2) {
 | 
| +          frame = frame2;
 | 
| +          return wait_for_clientId();
 | 
| +        })
 | 
| +      .then(function(clientId) {
 | 
| +          clientIds.push(clientId);
 | 
| +          var channel = new MessageChannel();
 | 
| +          channel.port1.onmessage = t.step_func(on_message);
 | 
| +          frame.contentWindow.navigator.serviceWorker.controller.postMessage(
 | 
| +              {port:channel.port2, clientIds:clientIds,
 | 
| +               message: 'get_client_ids'}, [channel.port2]);
 | 
| +        })
 | 
| +      .catch(unreached_rejection(t));
 | 
| +  });
 | 
| +
 | 
| +function wait_for_clientId() {
 | 
| +  return new Promise(function(resolve, reject) {
 | 
| +      function get_client_id(e) {
 | 
| +        window.removeEventListener("message", get_client_id);
 | 
| +        resolve(e.data.clientId);
 | 
| +      }
 | 
| +      window.addEventListener("message", get_client_id, false);
 | 
| +    });
 | 
| +}
 | 
| +
 | 
| +var expected = [
 | 
| +    /* visibilityState, focused, url, frameType */
 | 
| +    ['visible', true, new URL(scope + '#1', location).toString(), 'nested'],
 | 
| +    ['visible', false, new URL(scope + '#2', location).toString(), 'nested'],
 | 
| +    undefined
 | 
| +];
 | 
| +
 | 
| +function on_message(e) {
 | 
| +  assert_equals(e.data.length, 3);
 | 
| +  assert_array_equals(e.data[0], expected[0]);
 | 
| +  assert_array_equals(e.data[1], expected[1]);
 | 
| +  assert_equals(e.data[2], expected[2]);
 | 
| +  service_worker_unregister_and_done(t, scope);
 | 
| +}
 | 
| +</script>
 | 
| 
 |