diff options
Diffstat (limited to 'testing/web-platform/tests/service-workers/service-worker/clients-get-cross-origin.https.html')
-rw-r--r-- | testing/web-platform/tests/service-workers/service-worker/clients-get-cross-origin.https.html | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/testing/web-platform/tests/service-workers/service-worker/clients-get-cross-origin.https.html b/testing/web-platform/tests/service-workers/service-worker/clients-get-cross-origin.https.html new file mode 100644 index 000000000..3413acbf9 --- /dev/null +++ b/testing/web-platform/tests/service-workers/service-worker/clients-get-cross-origin.https.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<title>Service Worker: Clients.get across origins</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/blank.html?clients-get'; +var t = async_test('Test Clients.get() cross origin'); +var other_origin_iframe = host_info['HTTPS_REMOTE_ORIGIN'] + base_path() + + 'resources/clients-get-other-origin.html'; +var myOriginClientId; +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); + }) + .then(function(frame1) { + myOriginClientId = frame1.contentDocument.body.textContent; + return with_iframe(other_origin_iframe); + }) + .then(function(frame2) { + window.addEventListener('message', on_message_other_origin, false); + frame2.contentWindow.postMessage( + {clientId: myOriginClientId, + message: 'get_client_id'}, + host_info['HTTPS_REMOTE_ORIGIN']); + }) + .catch(unreached_rejection(t)); + }); + +function on_message_other_origin(e) { + assert_equals(e.data.result, undefined); + t.done(); +} +</script> |