| <!doctype HTML> |
| <html> |
| <meta charset="utf8"> |
| <title>Content Visibility: navigating to a text fragment.</title> |
| <link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org"> |
| <link rel="help" href="https://drafts.csswg.org/css-contain/#content-visibility"> |
| <meta name="timeout" content="long"> |
| <meta name="assert" content="content-visibility: auto subtrees are 'searchable' by text fragment links"> |
| |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/testdriver.js"></script> |
| <script src="/resources/testdriver-vendor.js"></script> |
| <script src="/common/utils.js"></script> |
| <script src="/scroll-to-text-fragment/stash.js"></script> |
| |
| <script> |
| promise_test(t => new Promise((resolve, reject) => { |
| const fragment = '#:~:text=hiddentext'; |
| const key = token(); |
| test_driver.bless("Open a URL with a text fragment directive", () => { |
| window.open(`resources/text-fragment-target-auto.html?key=${key}${fragment}`, |
| '_blank', |
| 'noopener'); |
| }); |
| fetchResults(key, resolve, reject); |
| }).then(data => { |
| assert_equals(data.scrollPosition, "text"); |
| assert_equals(data.target, "text"); |
| }), "Fragment navigation with content-visibility; single text"); |
| |
| promise_test(t => new Promise((resolve, reject) => { |
| const fragment = '#:~:text=start,end'; |
| const key = token(); |
| test_driver.bless("Open a URL with a text fragment directive", () => { |
| window.open(`resources/text-fragment-target-auto.html?key=${key}${fragment}`, |
| '_blank', |
| 'noopener'); |
| }); |
| fetchResults(key, resolve, reject); |
| }).then(data => { |
| assert_equals(data.scrollPosition, "text2"); |
| assert_equals(data.target, "text2and3ancestor"); |
| }), "Fragment navigation with content-visibility; range across blocks"); |
| </script> |
| |