blob: b1b0e1d762479a3f80f2acaf91e9d9c864aa980e [file] [log] [blame]
<!DOCTYPE html>
<title>Service Worker: UseCounter for off-main-thread-fetch</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../resources/test-helpers.js"></script>
<script src="resources/usecounter.js"></script>
<script>
promise_test((t) => {
const kOffMainThreadFetch = 2067; // from web_feature.mojom
const url = 'resources/usecounter-fetch-worker.js';
const scope = 'resources/blank.html?usecounter-fetch';
let worker;
let frame;
return service_worker_unregister_and_register(t, url, scope)
.then((registration) => {
add_completion_callback(() => registration.unregister());
worker = registration.installing;
return wait_for_state(t, worker, 'activated');
})
.then(() => with_iframe(scope))
.then((f) => {
frame = f;
add_completion_callback(() => frame.remove());
return new Promise((resolve) => {
navigator.serviceWorker.onmessage = () => {
resolve();
};
worker.postMessage({});
});
})
.then(() => {
// TODO(horo): Change it to assert_true when we ship off-main-thread
// fetch optimization.
assert_false(
frame.contentWindow.internals.isUseCounted(
frame.contentDocument, kOffMainThreadFetch),
'The usecounter for off-main-thread-fetch must not be counted.');
});
}, 'Usecounter for off-main-thread-fetch');
</script>
</html>