tor-browser

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

helper_scroll_over_scrollbar.html (1511B)


      1 <head>
      2  <meta name="viewport" content="width=device-width; initial-scale=1.0">
      3  <title>Wheel-scrolling over scrollbar</title>
      4  <script type="application/javascript" src="apz_test_native_event_utils.js"></script>
      5  <script type="application/javascript" src="apz_test_utils.js"></script>
      6  <script src="/tests/SimpleTest/paint_listener.js"></script>
      7  <script type="application/javascript">
      8 
      9 async function test() {
     10  var subframe = document.getElementById("scroll");
     11 
     12  // scroll over the scrollbar, and make sure the subframe scrolls
     13  var scrollPos = subframe.scrollTop;
     14  if (subframe.clientWidth == 200) {
     15    // No scrollbar, abort the test. This can happen e.g. on local macOS runs
     16    // with OS settings to only show scrollbars on trackpad/mouse activity.
     17    ok(false, "No scrollbars found, cannot run this test!");
     18    return;
     19  }
     20  var scrollbarX = (200 + subframe.clientWidth) / 2;
     21  await promiseNativeWheelAndWaitForScrollEvent(subframe, scrollbarX, 100,
     22      0, -10);
     23  ok(subframe.scrollTop > scrollPos, "subframe scrolled after wheeling over scrollbar");
     24 }
     25 
     26 waitUntilApzStable()
     27 .then(test)
     28 .then(subtestDone, subtestFailed);
     29 
     30  </script>
     31  <style>
     32    #scroll {
     33      width: 200px;
     34      height: 200px;
     35      overflow: scroll;
     36    }
     37    #scrolled {
     38      width: 200px;
     39      height: 1000px; /* so the subframe has room to scroll */
     40      will-change: transform; /* to force active layers */
     41    }
     42  </style>
     43 </head>
     44 <body>
     45  <div id="scroll">
     46    <div id="scrolled"></div>
     47  </div>
     48 </body>