| <!doctype html> |
| <title>Same document navigation to text fragment directives before loading the document has finished</title> |
| <meta charset=utf-8> |
| <link rel="help" href="https://wicg.github.io/ScrollToTextFragment/"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="resources/util.js"></script> |
| <script> |
| // Ensure that a same-document text directive navigation works correctly |
| // if the navigation is triggered before the page finishes loading. |
| promise_test(async t => { |
| assert_implements(document.fragmentDirective, 'Text directive not implemented'); |
| |
| location.hash = ':~:text=line%20of%20text'; |
| await t.step_wait(() => window.scrollY > 0, "Wait for scroll"); |
| assert_true(isInViewport(document.getElementById('text')), 'Scrolled to text'); |
| }, 'Same-document text directive navigation before loading the document has finished'); |
| </script> |
| <style> |
| div { |
| margin: 200vh 0 200vh 0; |
| } |
| </style> |
| |
| <div id="text"> |
| This is a line of text. |
| </div> |