summaryrefslogtreecommitdiffstats
path: root/layout/reftests/async-scrolling/position-fixed-in-scroll-container.html
diff options
context:
space:
mode:
Diffstat (limited to 'layout/reftests/async-scrolling/position-fixed-in-scroll-container.html')
-rw-r--r--layout/reftests/async-scrolling/position-fixed-in-scroll-container.html50
1 files changed, 50 insertions, 0 deletions
diff --git a/layout/reftests/async-scrolling/position-fixed-in-scroll-container.html b/layout/reftests/async-scrolling/position-fixed-in-scroll-container.html
new file mode 100644
index 0000000000..0874aa67a5
--- /dev/null
+++ b/layout/reftests/async-scrolling/position-fixed-in-scroll-container.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html reftest-async-scroll>
+<!-- In this test, the div |fixed| is fixed with respect to the
+ page's root scroll frame, but there's also a subframe |scrollbox|
+ which is async-scrolled and which generates a container layer
+ (because of the opacity), so that its async transform is on an
+ ancestor layer of |fixed|'s layer. We are testing that this
+ async transform is correctly unapplied to keep |fixed| fixed. -->
+<style>
+
+body {
+ height: 10000px;
+}
+
+.outer-opacity {
+ opacity: 0.8;
+}
+
+.scrollbox {
+ border: 1px solid black;
+ width: 200px;
+ height: 400px;
+ overflow: scroll;
+ scrollbar-width: none;
+}
+
+.inner-opacity {
+ height: 1000px;
+ opacity: 0.8;
+}
+
+.fixed {
+ background: blue;
+ width: 100px;
+ height: 100px;
+ position: fixed;
+}
+
+</style>
+<div class="outer-opacity">
+ <div class="scrollbox"
+ reftest-displayport-x="0" reftest-displayport-y="0"
+ reftest-displayport-w="200" reftest-displayport-h="1000"
+ reftest-async-scroll-x="0" reftest-async-scroll-y="50">
+ <div class="inner-opacity">
+ <div class="fixed"></div>
+ </div>
+ </div>
+</div>
+</html>