mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +01:00
36 lines
1.6 KiB
HTML
36 lines
1.6 KiB
HTML
<!DOCTYPE html>
|
|
<!--
|
|
This test verifies presence of Sec-Fetch-... request headers on a request
|
|
that fetches the service worker script itself (i.e. the script at the URL
|
|
passed as an argument to navigator.serviceWorker.register).
|
|
-->
|
|
<meta charset="utf-8"/>
|
|
<link rel="author" href="mtrzos@google.com" title="Maciek Trzos">
|
|
<script src=/resources/testharness.js></script>
|
|
<script src=/resources/testharnessreport.js></script>
|
|
<script src=/fetch/sec-metadata/resources/helper.js></script>
|
|
<script src=/common/utils.js></script>
|
|
<body>
|
|
<script>
|
|
promise_test(async t => {
|
|
const nonce = token();
|
|
const key = "serviceworker-same-origin" + nonce;
|
|
|
|
// Register a service worker and check the request header.
|
|
const registration = await navigator.serviceWorker.register('https://{{host}}:{{ports[https][0]}}/fetch/sec-metadata/resources/record-header.py?file=' + key);
|
|
t.add_cleanup(() => registration.unregister());
|
|
await retrieve_and_assert_headers(key, 'Register service worker');
|
|
|
|
// Trigger an update check and check the request header again.
|
|
await registration.update();
|
|
await retrieve_and_assert_headers(key, 'Update service worker');
|
|
}, 'sec-metadata for service worker scripts');
|
|
|
|
async function retrieve_and_assert_headers(key, tag) {
|
|
let expected = { "dest": "serviceworker", "site": "same-origin", "user": "", "mode": "same-origin" };
|
|
const response = await fetch("/fetch/sec-metadata/resources/record-header.py?retrieve=true&file=" + key)
|
|
const text = await response.text();
|
|
assert_header_equals(text, expected, tag);
|
|
}
|
|
</script>
|
|
</body>
|