pointer-events-none-skip-scroll.html (1344B)
1 <!doctype html> 2 <meta charset=utf-8> 3 <title>pointer-events: none correctly targets scrolls</title> 4 <script src=/resources/testharness.js></script> 5 <script src=/resources/testharnessreport.js></script> 6 <script src="/resources/testdriver.js"></script> 7 <script src="/resources/testdriver-vendor.js"></script> 8 <script src="/resources/testdriver-actions.js"></script> 9 <style> 10 #scroller { 11 overflow: auto; 12 height: 300px; 13 border: 2px solid blue; 14 pointer-events: none; 15 } 16 17 .spacer { 18 height: 200vh; 19 } 20 21 </style> 22 23 <div id="scroller"> 24 <div class="spacer"></div> 25 </div> 26 <div class="spacer"></div> 27 28 <script> 29 promise_test(async (t) => { 30 let scrolled = new Promise((resolve) => { 31 let scrollers = [window, document.getElementById("scroller")]; 32 let onscroll = (evt) => { 33 for (const scroller of scrollers) { 34 scroller.removeEventListener("scroll", onscroll); 35 } 36 resolve(evt.target.id || "root"); 37 } 38 for (const scroller of scrollers) { 39 scroller.addEventListener("scroll", onscroll); 40 } 41 }); 42 const actions = new test_driver.Actions().scroll(50, 200, 0, 50, { duration: 50 }); 43 actions.send(); 44 assert_equals(await scrolled, "root", "Incorrect element scrolled"); 45 }, "Wheel-scroll over pointer-events: none scroller skips that scroller"); 46 </script>