scroll-initial-target-with-text-fragment-navigation.tentative.html (1658B)
1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="utf-8"> 6 <title> CSS Scroll Snap 2 Test: scroll-initial-target interaction with text-fragment navigation</title> 7 <link rel="help" href="https://drafts.csswg.org/css-scroll-snap-2/#scroll-initial-target"> 8 <script src="/resources/testharness.js"></script> 9 <script src="/resources/testharnessreport.js"></script> 10 <script src="/resources/testdriver.js"></script> 11 <script src="/resources/testdriver-actions.js"></script> 12 <script src="/resources/testdriver-vendor.js"></script> 13 <script src="/common/utils.js"></script> 14 </head> 15 16 <body onload="runTest()"> 17 <script> 18 function fetchResult(key, resolve, reject) { 19 fetch(`/css/css-scroll-snap/scroll-initial-target/stash.py?key=${key}`).then(response => { 20 return response.text(); 21 }).then(text => { 22 if (text) { 23 try { 24 let result = JSON.parse(text); 25 resolve(result); 26 } catch (e) { 27 reject(); 28 } 29 } else { 30 fetchResult(key, resolve, reject); 31 } 32 }); 33 } 34 35 function runTest() { 36 promise_test(t => new Promise(async (resolve, reject) => { 37 let key = token(); 38 39 test_driver.bless("Open a URL with a text fragment directive", () => { 40 window.open(`scroll-initial-target-with-text-fragment-navigation-target.html?key=${key}#:~:text=Target`, "_blank", "noopener"); 41 }); 42 43 fetchResult(key, resolve, reject); 44 }).then(result => { 45 assert_equals(result.scroll_position, "AT_TEXT_FRAGMENT"); 46 }), "scroll-start doesn't override text fragment navigation"); 47 } 48 </script> 49 </body>