tor-browser

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

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>