summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/service-workers/service-worker/svg-target-reftest.https.html
blob: 3710ee61d85fe5f7272e949e33622f3592e65436 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
<html class="reftest-wait">
<meta charset="utf-8">
<title>Service worker interception does not break SVG fragment targets</title>
<meta name="assert" content="SVG with link fragment should render correctly when intercepted by a service worker.">
<script src="resources/test-helpers.sub.js"></script>
<link rel="match" href="resources/svg-target-reftest-001.html">
<p>Pass if you see a green box below.</p>
<script>
// We want to use utility functions designed for testharness.js where
// there is a test object.  We don't have a test object in reftests
// so fake one for now.
const fake_test = { step_func: f => f };

async function runTest() {
  const script = './resources/pass-through-worker.js';
  const scope = './resources/svg-target-reftest-frame.html';
  let reg = await navigator.serviceWorker.register(script, { scope });
  await wait_for_state(fake_test, reg.installing, 'activated');
  let f = await with_iframe(scope);
  document.documentElement.classList.remove('reftest-wait');
  await reg.unregister();
  // Note, we cannot remove the frame explicitly because we can't
  // tell when the reftest completes.
}
runTest();
</script>
</html>