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

Unified Diff: third_party/WebKit/LayoutTests/fast/css/sticky/nested/sticky-nested-deep.html

Issue 2636253002: Handle nested position:sticky elements (Closed)
Patch Set: Rebase Created 3 years, 10 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
Index: third_party/WebKit/LayoutTests/fast/css/sticky/nested/sticky-nested-deep.html
diff --git a/third_party/WebKit/LayoutTests/fast/css/sticky/nested/sticky-nested-deep.html b/third_party/WebKit/LayoutTests/fast/css/sticky/nested/sticky-nested-deep.html
new file mode 100644
index 0000000000000000000000000000000000000000..78dc5e59be425aba62e96dd0602eee47499d39a2
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/css/sticky/nested/sticky-nested-deep.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<script>
+if (window.internals) {
+ internals.settings.setCSSStickyPositionEnabled(true);
+}
+</script>
+
+<html>
+<head>
+<style>
+ body {
+ margin: 0;
+ }
+
+ .scroller {
+ overflow: hidden; /* hide scrollbars */
+ width: 200px;
+ height: 500px;
+ outline: 2px solid black;
+ }
+
+ .container {
+ width: 200px;
+ height: 1000px;
+ }
+
+ .sticky {
+ position: sticky;
+ width: 200px;
+ top: 0;
+ }
+
+ .first {
+ height: 500px;
+ background: red;
+ }
+
+ .second {
+ height: 400px;
+ background: green;
+ }
+
+ .third {
+ height: 300px;
+ background: blue;
+ top: 100px;
+ }
+
+ .fourth {
+ height: 200px;
+ background: pink;
+ top: 100px;
+ }
+
+ .fifth {
+ height: 100px;
+ background: yellow;
+ }
+
+</style>
+<script>
+if (window.testRunner)
+ testRunner.waitUntilDone();
+
+function doTest() {
+ finishTestInXFrames(2);
+}
+
+function finishTestInXFrames(frames) {
+ if (frames > 0) {
+ requestAnimationFrame(finishTestInXFrames.bind(null, frames - 1));
+ return;
+ }
+ finishTest();
+}
+
+function finishTest() {
+ for (const scroller of document.querySelectorAll('.scroller')) {
+ scroller.scrollTop = 400;
+ }
+ if (window.testRunner)
+ testRunner.notifyDone();
+}
+
+window.addEventListener('load', doTest, false);
+</script>
+</head>
+<body>
+ <div class="scroller">
+ <div class="container">
+ <div class="first sticky">
+ <div class="second sticky">
+ <div class="third sticky">
+ <div class="fourth sticky">
+ <div class="fifth sticky"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698