scroll-marker-activation-crash.html (2002B)
1 <!doctype html> 2 <html class=test-wait> 3 <meta charset="utf-8"> 4 <title>CSS Test: ::scroll-marker crash regression test</title> 5 <link rel="help" href="https://drafts.csswg.org/css-overflow-5/#scroll-marker-activation"> 6 <script src="/dom/events/scrolling/scroll_support.js"></script> 7 <script src="/resources/testdriver.js"></script> 8 <script src="/resources/testdriver-actions.js"></script> 9 <script src="/resources/testdriver-vendor.js"></script> 10 <style> 11 body { 12 margin: 0; 13 } 14 15 #marker-scroller { 16 height: 300px; 17 overflow: auto; 18 scroll-snap-type: x mandatory; 19 position: relative; 20 scroll-marker-group: before; 21 white-space: nowrap; 22 } 23 24 #marker-scroller div { 25 scroll-snap-align: start; 26 box-sizing: border-box; 27 border-radius: 5px; 28 background: lightgray; 29 border: 1px solid black; 30 display: inline-block; 31 width: 500px; 32 height: 100%; 33 } 34 35 #marker-scroller::scroll-marker-group { 36 display: flex; 37 height: 100px; 38 } 39 40 #marker-scroller div::scroll-marker { 41 content: ""; 42 width: 100px; 43 height: 100px; 44 box-sizing: border-box; 45 border-radius: 5px; 46 border: 1px solid black; 47 display: inline-block; 48 } 49 #marker-scroller div::scroll-marker:target-current { 50 background: blue; 51 } 52 </style> 53 <fakeelement> 54 <div id="marker-scroller"> 55 <div>1</div> 56 <div id="target">2</div> 57 <div>3</div> 58 </div> 59 </fakeelement> 60 <script> 61 async function crash() { 62 const target = document.querySelector('#target'); 63 const scroller = document.querySelector('#marker-scroller'); 64 const scrollEndPromise = waitForScrollEndFallbackToDelayWithoutScrollEvent(scroller); 65 /* Crash regression test for https://issues.chromium.org/407958134 */ 66 actions_promise = new test_driver.Actions() 67 .pointerMove(150, 50) 68 .pointerDown() 69 .pointerUp() 70 .send(); 71 await actions_promise; 72 await scrollEndPromise; 73 document.documentElement.classList.remove('test-wait'); 74 }; 75 crash(); 76 </script> 77 </html>