tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

scroll-button-event-target.html (1630B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8">
      3 <title>CSS Overflow: event.target and event.currentTarget for ::scroll-button is scroller</title>
      4 <link rel="help" href="https://drafts.csswg.org/css-overflow-5/#scroll-buttons">
      5 <script src="/resources/testharness.js"></script>
      6 <script src="/resources/testharnessreport.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  #scroller {
     16    position: absolute;
     17    top: 100px;
     18    width: 600px;
     19    height: 300px;
     20    overflow: auto;
     21    white-space: nowrap;
     22  }
     23 
     24  #scroller div {
     25    display: inline-block;
     26    width: 600px;
     27    height: 200px;
     28  }
     29 
     30  #scroller::scroll-button(inline-end) {
     31    position: absolute;
     32    top: 0;
     33    left: 0;
     34    content: "";
     35    width: 100px;
     36    height: 20px;
     37  }
     38 </style>
     39 <div id="scroller">
     40  <div></div>
     41  <div></div>
     42 </div>
     43 <script>
     44  let target = null;
     45  let currentTarget = null;
     46 
     47  scroller.addEventListener('click', (e) => {
     48    target = e.target;
     49    currentTarget = e.currentTarget;
     50    e.stopPropagation();
     51  });
     52 
     53  promise_test(async t => {
     54    // Click on ::scroll-button
     55    const scrollButtonX = 15;
     56    const scrollButtonY = 15;
     57    await new test_driver.Actions()
     58      .pointerMove(scrollButtonX, scrollButtonY)
     59      .pointerDown()
     60      .pointerUp()
     61      .send();
     62    assert_equals(currentTarget, scroller, "event.currentTarget for ::scroll-button click is scroller");
     63    assert_equals(target, scroller, "event.target for ::scroll-button click is scroller");
     64  });
     65 </script>