blob: 69e026e2959ddcec54951583cb08be8bc9d603c4 [file] [log] [blame]
<!DOCTYPE html>
<!-- Tests UseCounter for serviceWorker.register in third party context. This
cannot be upstreamed to WPT because it tests Chrome's UseCounter mechanism.
-->
<meta charset="utf-8">
<title>Test UseCounter for serviceWorker.register in third party context.</title>
<body></body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/test-helpers.js"></script>
<script src="/resources/get-host-info.js"></script>
<script>
function child_frame_has_verified_use_counter() {
return new Promise(function(resolve, reject) {
window.onmessage = (msg) => {
if (msg.data == 'verified_has_use_counter')
resolve();
else
reject(msg.data);
};
});
}
promise_test(async t => {
t.add_cleanup(() => {
const done = new Promise(function(resolve, reject) {
window.onmessage = (msg) => {
if (msg.data == "unregister_done")
resolve();
else
reject(msg.data);
};
});
frame1.contentWindow.postMessage("unregister", "*");
return done;
});
const remote_origin_url = get_host_info().HTTPS_REMOTE_ORIGIN +
'/serviceworker/resources/register-service-worker-verify-third-party-use-counter.html';
const frame1 = await with_iframe(remote_origin_url);
await child_frame_has_verified_use_counter();
}, "Test UseCounter for serviceWorker.register in third party context.");
</script>