summaryrefslogtreecommitdiffstats
path: root/gfx/layers/apz/test/mochitest/helper_overscroll_in_apz_test_data.html
blob: ed05f25819cb8fd7ab97f6f5f7b0c64f6bfff1b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!DOCTYPE HTML>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, minimum-scale=1.0">
<title>A simple test checks "overscrolled" info in APZTestData</title>
<title>Tests scroll anchoring updates in-progress wheel scrolling __relatively__</title>
<script src="apz_test_utils.js"></script>
<script src="apz_test_native_event_utils.js"></script>
<script src="/tests/SimpleTest/paint_listener.js"></script>
<div style="height: 300vh; background-color: blue;"></div><!-- Make the root scrollable -->
<script>
  async function test() {
    // Try to overscroll by using setAsyncScrollOffset to avoid race conditions
    // that APZTestData haven't been arrived on the main-thread.
    SpecialPowers.DOMWindowUtils.setAsyncScrollOffset(document.scrollingElement, 0, -100);

    const scrollId =
      SpecialPowers.DOMWindowUtils.getViewId(document.scrollingElement);
    const data = SpecialPowers.DOMWindowUtils.getCompositorAPZTestData();
    for (apzcData of data.additionalData) {
      if (apzcData.key == scrollId) {
        ok(apzcData.value.split(",").includes("overscrolled"));
      }
    }
  }

  waitUntilApzStable()
  .then(test)
  .then(subtestDone, subtestFailed);
</script>