tor-browser

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

helper_zoomToFocusedInput_fixed_bug1673511.html (1494B)


      1 <!DOCTYPE>
      2 <html>
      3  <head>
      4  <meta name="viewport" content="width=device-width, initial-scale=1.0">
      5  <title>Checking zoomToFocusedInput scrolls on position: fixed</title>
      6  <script type="application/javascript" src="apz_test_utils.js"></script>
      7  <script type="application/javascript" src="apz_test_native_event_utils.js"></script>
      8  <script src="/tests/SimpleTest/paint_listener.js"></script>
      9  </head>
     10 <body>
     11 <div>
     12  <div style="z-index: 100; position: fixed; width: 300px; height: 300px; overflow-y: scroll;" id="container">
     13    <div style="height: 1000px;">ABC</div>
     14    <input type="text">
     15  </div>
     16  <!-- Leave additional room below the element so it can be scrolled to the center -->
     17  <div style="height: 3000px;">ABC</div>
     18 </div>
     19 <script type="application/javascript">
     20 async function test() {
     21  let utils = SpecialPowers.getDOMWindowUtils(window);
     22 
     23  let input = document.querySelector("input");
     24  let container = document.querySelector("#container");
     25  let originalScrollTop = container.scrollTop;
     26 
     27  input.focus({ preventScroll: true });
     28  await waitToClearOutAnyPotentialScrolls(window);
     29  ok(container.scrollTop == originalScrollTop, "scroll position keeps top");
     30 
     31  let waitForScroll = waitForScrollEvent(container);
     32  utils.zoomToFocusedInput();
     33  await waitForScroll;
     34  await promiseApzFlushedRepaints();
     35 
     36  ok(container.scrollTop > originalScrollTop, "scroll position isn't top");
     37 }
     38 
     39 waitUntilApzStable().then(test).then(subtestDone, subtestFailed);
     40 </script>
     41 </body>
     42 </html>