/**
* Time fetch from a fresh service worker.
*/
add_task(async () => {
for (let i = 0; i < ITERATIONS; i++) {
let reg = await navigator.serviceWorker.register("sw_intercept_target.js");
await waitForState(reg.installing, "activated");
let iframe = await create_iframe("time_fetch.html");
let result = await iframe.contentWindow.time_fetch("target.txt");
is(result.status, 200);
is(result.data, "intercepted\n");
journal[COLD_FETCH].push(result.elapsed_ms);
ok(document.body.removeChild(iframe), "Failed to remove child iframe");
await reg.unregister();
}
});
/**
* Time unintercepted fetch, intercepted fetch, then unintercepted
* fetch again.
*/
add_task(async () => {
let reg = await navigator.serviceWorker.register("sw_intercept_target.js");
await waitForState(reg.installing, "activated");
let iframe = await create_iframe("time_fetch.html");
for (let i = 0; i < ITERATIONS; i++) {
let result = await iframe.contentWindow.time_fetch("target.txt");
is(result.status, 200);
is(result.data, sw_enabled ? "intercepted\n" : "target\n");
journal.push(result.elapsed_ms);
}
ok(document.body.removeChild(iframe), "Failed to remove child iframe");
let iframe = await create_iframe("time_fetch.html");
for (let i = 0; i < ITERATIONS; i++) {
let result = await iframe.contentWindow.time_xhr("target.txt");
is(result.status, 200);
is(result.data, sw_enabled ? "intercepted\n" : "target\n");
journal.push(result.elapsed_ms);
}
ok(document.body.removeChild(iframe), "Failed to remove child iframe");
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.