Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(854)

Unified Diff: third_party/WebKit/Source/core/layout/ScrollAnchorTest.cpp

Issue 1958973004: Always anchor to top of the anchor element (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nit Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/Source/core/layout/ScrollAnchor.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/core/layout/ScrollAnchorTest.cpp
diff --git a/third_party/WebKit/Source/core/layout/ScrollAnchorTest.cpp b/third_party/WebKit/Source/core/layout/ScrollAnchorTest.cpp
index 194ae5e604e12b76cd094bed82b273253e8e7973..4d453ace5d61279f3e436cea370993e2d2ba4cc8 100644
--- a/third_party/WebKit/Source/core/layout/ScrollAnchorTest.cpp
+++ b/third_party/WebKit/Source/core/layout/ScrollAnchorTest.cpp
@@ -292,10 +292,106 @@ TEST_F(ScrollAnchorCornerTest, Corners)
"<div id=c></div>"
"<div id=d></div>");
- checkCorner("a", Corner::BottomRight, DoublePoint(20, 20), DoubleSize(+400, +300));
- checkCorner("b", Corner::BottomLeft, DoublePoint(420, 20), DoubleSize(-400, +300));
- checkCorner("c", Corner::TopRight, DoublePoint(20, 320), DoubleSize(+400, -300));
- checkCorner("d", Corner::TopLeft, DoublePoint(420, 320), DoubleSize(-400, -300));
+ checkCorner("a", Corner::TopLeft, DoublePoint(20, 20), DoubleSize(0, 0));
+ checkCorner("b", Corner::TopLeft, DoublePoint(420, 20), DoubleSize(-400, 0));
+ checkCorner("c", Corner::TopLeft, DoublePoint(20, 320), DoubleSize(0, -300));
+ checkCorner("d", Corner::TopLeft, DoublePoint(420, 320), DoubleSize(-400, -300));
+}
+
+TEST_F(ScrollAnchorCornerTest, CornersVerticalLR)
+{
+ setBodyInnerHTML(
+ "<style>"
+ " html {"
+ " writing-mode: vertical-lr;"
+ " }"
+ " body {"
+ " position: absolute; border: 10px solid #ccc;"
+ " width: 1220px; height: 920px;"
+ " }"
+ " #a, #b, #c, #d {"
+ " position: absolute; background-color: #ace;"
+ " width: 400px; height: 300px;"
+ " }"
+ " #a, #b { top: 0; }"
+ " #a, #c { left: 0; }"
+ " #b, #d { right: 0; }"
+ " #c, #d { bottom: 0; }"
+ " .big { width: 800px !important; height: 600px !important }"
+ "</style>"
+ "<div id=a></div>"
+ "<div id=b></div>"
+ "<div id=c></div>"
+ "<div id=d></div>");
+
+ checkCorner("a", Corner::TopLeft, DoublePoint(20, 20), DoubleSize(0, 0));
+ checkCorner("b", Corner::TopLeft, DoublePoint(420, 20), DoubleSize(-400, 0));
+ checkCorner("c", Corner::TopLeft, DoublePoint(20, 320), DoubleSize(0, -300));
+ checkCorner("d", Corner::TopLeft, DoublePoint(420, 320), DoubleSize(-400, -300));
+}
+
+TEST_F(ScrollAnchorCornerTest, CornersRTL)
+{
+ setBodyInnerHTML(
+ "<style>"
+ " html {"
+ " direction: rtl;"
+ " }"
+ " body {"
+ " position: absolute; border: 10px solid #ccc;"
+ " width: 1220px; height: 920px;"
+ " }"
+ " #a, #b, #c, #d {"
+ " position: absolute; background-color: #ace;"
+ " width: 400px; height: 300px;"
+ " }"
+ " #a, #b { top: 0; }"
+ " #a, #c { left: 0; }"
+ " #b, #d { right: 0; }"
+ " #c, #d { bottom: 0; }"
+ " .big { width: 800px !important; height: 600px !important }"
+ "</style>"
+ "<div id=a></div>"
+ "<div id=b></div>"
+ "<div id=c></div>"
+ "<div id=d></div>");
+
+ checkCorner("b", Corner::TopRight, DoublePoint(-20, 20), DoubleSize(0, 0));
+ checkCorner("a", Corner::TopRight, DoublePoint(-420, 20), DoubleSize(400, 0));
+ checkCorner("d", Corner::TopRight, DoublePoint(-20, 320), DoubleSize(0, -300));
+ checkCorner("c", Corner::TopRight, DoublePoint(-420, 320), DoubleSize(400, -300));
+}
+
+TEST_F(ScrollAnchorCornerTest, CornersVerticalRL)
+{
+ setBodyInnerHTML(
+ "<style>"
+ " html {"
+ " writing-mode: vertical-rl;"
+ " }"
+ " body {"
+ " position: absolute; border: 10px solid #ccc;"
+ " width: 1220px; height: 920px;"
+ " }"
+ " #a, #b, #c, #d {"
+ " position: absolute; background-color: #ace;"
+ " width: 400px; height: 300px;"
+ " }"
+ " #a, #b { top: 0; }"
+ " #a, #c { left: 0; }"
+ " #b, #d { right: 0; }"
+ " #c, #d { bottom: 0; }"
+ " .big { width: 800px !important; height: 600px !important }"
+ "</style>"
+ "<div id=a></div>"
+ "<div id=b></div>"
+ "<div id=c></div>"
+ "<div id=d></div>");
+
+ checkCorner("b", Corner::TopRight, DoublePoint(-20, 20), DoubleSize(0, 0));
+ checkCorner("a", Corner::TopRight, DoublePoint(-420, 20), DoubleSize(400, 0));
+ checkCorner("d", Corner::TopRight, DoublePoint(-20, 320), DoubleSize(0, -300));
+ checkCorner("c", Corner::TopRight, DoublePoint(-420, 320), DoubleSize(400, -300));
}
}
« no previous file with comments | « third_party/WebKit/Source/core/layout/ScrollAnchor.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698