<!doctype html>
<body>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script>
<script>
promise_test(async t => {
let url = 'resources/fetch-topics-header-not-visible-in-service-worker-helper.tentative.https.html';
let r = await service_worker_unregister_and_register(t,
'resources/intercept-request.js', url);
await wait_for_state(t, r.installing, 'activated');
var popup_window = window.open("/common/blank.html");
t.add_cleanup(async _=>{
popup_window.close();
await r.unregister();
});
// The current page isn't yet controlled by the service worker. Thus,
// execute the actual test in a new page and let it post its result back
// to this page.
test_helper_popup_page_result = new Promise((resolve, reject) => {
window.addEventListener('message', t.step_func((e) => {
assert_equals(e.data.testResult,
'Service worker intercepted no topics header');
resolve();
}));
});
popup_window.location = url;
await test_helper_popup_page_result;
}, 'test that the topics header for fetch(<url>, {browsingTopics: true}) is not visible in a service worker context');
</script>
</body>