Index: third_party/WebKit/LayoutTests/external/wpt/cssom-view/scrollIntoView-shadow.html |
diff --git a/third_party/WebKit/LayoutTests/external/wpt/cssom-view/scrollIntoView-shadow.html b/third_party/WebKit/LayoutTests/external/wpt/cssom-view/scrollIntoView-shadow.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f272924c3584629f0fadee7dbe5063248cc70566 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/external/wpt/cssom-view/scrollIntoView-shadow.html |
@@ -0,0 +1,33 @@ |
+<!DOCTYPE HTML> |
+<script src="/resources/testharness.js"></script> |
+<script src="/resources/testharnessreport.js"></script> |
+<title>Check End Position of scrollIntoView of shadow elements</title> |
+<div id="container"> |
+ <div id="space1" style="height: 2000px; width: 2000px;background-color: yellow"> |
+ </div> |
+ <div id="shadow"></div> |
+ <div id="space2" style="height: 2000px; width: 2000px;background-color: blue"> |
+ </div> |
+</div> |
+<script> |
+add_completion_callback(() => document.getElementById("container").remove()); |
+ |
+test(t => { |
+ var shadow = document.getElementById("shadow"); |
+ var shadowRoot = shadow.createShadowRoot(); |
+ var shadowDiv = document.createElement("div"); |
+ shadowDiv.style.height = "200px"; |
+ shadowDiv.style.width = "200px"; |
+ shadowDiv.style.backgroundColor = "green"; |
+ shadowRoot.appendChild(shadowDiv); |
+ |
+ window.scrollTo(0, 0); |
+ var expected_x = shadowDiv.offsetLeft; |
+ var expected_y = shadowDiv.offsetTop; |
+ assert_not_equals(window.scrollX, expected_x); |
+ assert_not_equals(window.scrollY, expected_y); |
+ shadowDiv.scrollIntoView({block: "start", inlinePosition: "start"}); |
+ assert_approx_equals(window.scrollX, expected_x, 1); |
+ assert_approx_equals(window.scrollY, expected_y, 1); |
+}, "scrollIntoView should behave correctly if applies to shadow dom elements"); |
+</script> |