Index: LayoutTests/fast/css/sticky/sticky-top-overflow.html |
diff --git a/LayoutTests/fast/css/sticky/sticky-top-overflow.html b/LayoutTests/fast/css/sticky/sticky-top-overflow.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..dfda8ae3db7452f59994493c3ebad433e3042c88 |
--- /dev/null |
+++ b/LayoutTests/fast/css/sticky/sticky-top-overflow.html |
@@ -0,0 +1,83 @@ |
+<!DOCTYPE html> |
+<html> |
+<head> |
+<style> |
+ .group { |
+ display: inline-block; |
+ position: relative; |
+ width: 150px; |
+ height: 500px; |
+ } |
+ |
+ #overflow { |
+ width: 600px; |
+ height: 550px; |
+ overflow: hidden; /* Still scrollable with JS */ |
+ border: 1px solid black; |
+ } |
+ |
+ .spacer { |
+ float: left; |
+ width: 10px; |
+ height: 1200px; |
+ } |
+ .container { |
+ width: 100px; |
+ height: 400px; |
+ outline: 2px solid black; |
+ } |
+ |
+ .box { |
+ width: 100px; |
+ height: 200px; |
+ } |
+ |
+ .sticky { |
+ position: sticky; |
+ top: 100px; |
+ background-color: green; |
+ } |
+ |
+ .indicator { |
+ position: absolute; |
+ top: 0; |
+ left: 0; |
+ background-color: red; |
+ } |
+</style> |
+<script> |
+ function doTest() |
+ { |
+ document.getElementById('overflow').scrollTop = 120; |
+ } |
+ window.addEventListener('load', doTest, false); |
+</script> |
+</head> |
+<body> |
+This test checks that sticky positioned elements are contained by their enclosing ancestor with an overflow clip. |
+There should be no red. |
+ <div id="overflow"> |
+ <div class="spacer"></div> |
+ <div class="group"> |
+ <div class="indicator box" style="top: 200px;"></div> |
+ <div class="container"> |
+ <div class="sticky box"></div> |
+ </div> |
+ </div> |
+ |
+ <div class="group" style="top: 100px"> |
+ <div class="indicator box" style="top: 120px;"></div> |
+ <div class="container"> |
+ <div class="sticky box"></div> |
+ </div> |
+ </div> |
+ |
+ <div class="group" style="top: 240px"> |
+ <div class="indicator box" style="top: 0;"></div> |
+ <div class="container"> |
+ <div class="sticky box"></div> |
+ </div> |
+ </div> |
+ </div> |
+</body> |
+</html> |