background-fetch-inner.https.html (1482B)
1 <!DOCTYPE html> 2 <script src="/resources/testharness.js"></script> 3 <script src="/resources/testharnessreport.js"></script> 4 <script src="utils.js"></script> 5 <title>Fenced frame content to report the result of background fetch</title> 6 7 <body> 8 <script> 9 (async function () { 10 const [background_fetch_register_key, method] = parseKeylist(); 11 const file = 'background-fetch-inner.https.html.headers'; 12 13 navigator.serviceWorker.register("empty-worker.js", { scope: location.href }); 14 const registration = await navigator.serviceWorker.ready; 15 16 const url = new URL(location.href); 17 18 let promise; 19 switch (method) { 20 case 'fetch': 21 promise = registration.backgroundFetch.fetch('test-fetch', file); 22 break; 23 case 'get': 24 promise = registration.backgroundFetch.get('test-fetch'); 25 break; 26 case 'getIds': 27 promise = registration.backgroundFetch.getIds(); 28 break 29 default: 30 promise = Promise.resolve(); 31 } 32 33 promise 34 .then(() => { 35 writeValueToServer(background_fetch_register_key, 36 `[backgroundFetch.${method}] Unexpectedly started`); 37 }) 38 .catch(() => { 39 writeValueToServer(background_fetch_register_key, 40 `[backgroundFetch.${method}] Failed inside fencedframe as expected`); 41 }) 42 .finally(() => { 43 registration.unregister(); 44 }); 45 })(); 46 </script> 47 </body>