commit c337951da7557fda709f54df12107c4f371e615c
parent 3dc7fe0231f68418ccdc667cadd522d9ee7d8bf4
Author: Jo Steven Novaryo <steven.novaryo@gmail.com>
Date: Fri, 28 Nov 2025 14:53:39 +0000
Bug 2002209 [wpt PR 56254] - dom: Focus scroll to the element only if it is not visible, a=testonly
Automatic update from web-platform-tests
Fix naming and add WPTs
Signed-off-by: Jo Steven Novaryo <steven.novaryo@gmail.com>
--
wpt-commits: 2ab264b5392599af746817492d7ba557104198b5
wpt-pr: 56254
Diffstat:
1 file changed, 52 insertions(+), 0 deletions(-)
diff --git a/testing/web-platform/tests/css/cssom-view/scrollIntoView-nearest-visible-element.html b/testing/web-platform/tests/css/cssom-view/scrollIntoView-nearest-visible-element.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <title>scrollIntoView nearest shouldn't scroll a completely visible element</title>
+ <link rel="author" title="Jo Steven Novaryo" href="mailto:steven.novaryo@gmail.com">
+ <link rel="help" href="https://drafts.csswg.org/cssom-view/#determine-the-scroll-into-view-position">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+</head>
+
+<style>
+#container {
+ width: 300px;
+ height: 300px;
+ overflow: scroll;
+}
+
+#target {
+ width: 100px;
+ height: 100px;
+ position: relative;
+ top: 600px;
+ left: 800px;
+ background-color: aqua;
+}
+
+#overflowing {
+ width: 3000px;
+ height: 3000px;
+}
+</style>
+
+<div id="container">
+ <div id="target">
+ </div>
+ <div id="overflowing"></div>
+</div>
+
+<script>
+ test(function() {
+ container.scrollTop = 500;
+ container.scrollLeft = 700;
+ let initial_target_rect = target.getBoundingClientRect();
+ target.scrollIntoView({block: 'nearest', inline: 'nearest'});
+
+ let final_target_rect = target.getBoundingClientRect();
+ assert_equals(initial_target_rect.x, final_target_rect.x, 'Target x position remain unchanged');
+ assert_equals(initial_target_rect.y, final_target_rect.y, 'Target y position remain unchanged');
+ }, "scrollIntoView with `nearest` block and inline option shouldn't scroll a completely visible element");
+</script>
+</html>
+\ No newline at end of file