diff options
Diffstat (limited to 'gfx/layers/apz/test/mochitest/helper_zoomToFocusedInput_fixed_bug1673511.html')
-rw-r--r-- | gfx/layers/apz/test/mochitest/helper_zoomToFocusedInput_fixed_bug1673511.html | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/gfx/layers/apz/test/mochitest/helper_zoomToFocusedInput_fixed_bug1673511.html b/gfx/layers/apz/test/mochitest/helper_zoomToFocusedInput_fixed_bug1673511.html new file mode 100644 index 0000000000..c63794fdb1 --- /dev/null +++ b/gfx/layers/apz/test/mochitest/helper_zoomToFocusedInput_fixed_bug1673511.html @@ -0,0 +1,42 @@ +<!DOCTYPE> +<html> + <head> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>Checking zoomToFocusedInput scrolls on position: fixed</title> + <script type="application/javascript" src="apz_test_utils.js"></script> + <script type="application/javascript" src="apz_test_native_event_utils.js"></script> + <script src="/tests/SimpleTest/paint_listener.js"></script> + </head> +<body> +<div> + <div style="z-index: 100; position: fixed; width: 300px; height: 300px; overflow-y: scroll;" id="container"> + <div style="height: 1000px;">ABC</div> + <input type="text"> + </div> + <!-- Leave additional room below the element so it can be scrolled to the center --> + <div style="height: 3000px;">ABC</div> +</div> +<script type="application/javascript"> +async function test() { + let utils = SpecialPowers.getDOMWindowUtils(window); + + let input = document.querySelector("input"); + let container = document.querySelector("#container"); + let originalScrollTop = container.scrollTop; + + input.focus({ preventScroll: true }); + await waitToClearOutAnyPotentialScrolls(window); + ok(container.scrollTop == originalScrollTop, "scroll position keeps top"); + + let waitForScroll = waitForScrollEvent(container); + utils.zoomToFocusedInput(); + await waitForScroll; + await promiseApzFlushedRepaints(); + + ok(container.scrollTop > originalScrollTop, "scroll position isn't top"); +} + +waitUntilApzStable().then(test).then(subtestDone, subtestFailed); +</script> +</body> +</html> |