summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-scroll-anchoring/focus-prioritized.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/css-scroll-anchoring/focus-prioritized.html')
-rw-r--r--testing/web-platform/tests/css/css-scroll-anchoring/focus-prioritized.html46
1 files changed, 46 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-scroll-anchoring/focus-prioritized.html b/testing/web-platform/tests/css/css-scroll-anchoring/focus-prioritized.html
new file mode 100644
index 0000000000..32d90badca
--- /dev/null
+++ b/testing/web-platform/tests/css/css-scroll-anchoring/focus-prioritized.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<meta charset="utf8">
+<title>CSS Scroll Anchoring: prioritize focused element</title>
+<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-scroll-anchoring/#anchor-node-selection">
+<meta name="assert" content="anchor selection prioritized focused element">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<style>
+body { height: 4000px }
+.spacer { height: 100px }
+#growing { height: 100px }
+#focused { height: 10px }
+</style>
+
+<div class=spacer></div>
+<div class=spacer></div>
+<div class=spacer></div>
+<div class=spacer></div>
+<div id=growing></div>
+<div class=spacer></div>
+<div id=focused contenteditable></div>
+<div class=spacer></div>
+<div class=spacer></div>
+
+<script>
+async_test((t) => {
+ document.scrollingElement.scrollTop = 150;
+ focused.focus();
+
+ const target_rect = focused.getBoundingClientRect();
+ growing.style.height = "3000px";
+
+ requestAnimationFrame(() => {
+ t.step(() => {
+ const new_rect = focused.getBoundingClientRect();
+ assert_equals(new_rect.x, target_rect.x, "x coordinate");
+ assert_equals(new_rect.y, target_rect.y, "y coordinate");
+ assert_not_equals(document.scrollingElement.scrollTop, 150, "scroll adjusted");
+ });
+ t.done();
+ });
+}, "Anchor selection prioritized focused element.");
+</script>