diff options
Diffstat (limited to 'testing/web-platform/tests/css/css-scroll-anchoring/reading-scroll-forces-anchoring.html')
-rw-r--r-- | testing/web-platform/tests/css/css-scroll-anchoring/reading-scroll-forces-anchoring.html | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-scroll-anchoring/reading-scroll-forces-anchoring.html b/testing/web-platform/tests/css/css-scroll-anchoring/reading-scroll-forces-anchoring.html new file mode 100644 index 0000000000..39b8e36398 --- /dev/null +++ b/testing/web-platform/tests/css/css-scroll-anchoring/reading-scroll-forces-anchoring.html @@ -0,0 +1,30 @@ +<!DOCTYPE html> +<link rel="help" href="https://drafts.csswg.org/css-scroll-anchoring-1/"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<style> +body { height: 1000px } +div { height: 100px } +</style> +<div id="block1">abc</div> +<div id="block2">def</div> +<script> + // This test verifies that reading window.scrollY forces any pending scroll + // anchoring adjustment to occur before computing the return value. + async_test((t) => { + scrollTo(0, 150); + requestAnimationFrame(() => { + step_timeout(() => { + // Queue scroll anchoring adjustment. + document.querySelector("#block1").style.height = "200px"; + + // Reading scrollY should force both the layout and the adjustment to + // occur synchronously. + var y = scrollY; + + assert_equals(y, 250); + t.done(); + }, 0); + }); + }, 'Reading scroll position forces scroll anchoring adjustment.'); +</script> |