| <!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> |