summaryrefslogtreecommitdiffstats
path: root/layout/reftests/async-scrolling/fixed-pos-scrolled-clip-3.html
blob: 83d82cb8fcb6e674267c3d6f29d900be1aee94f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<!DOCTYPE html>
<html reftest-async-scroll
      reftest-displayport-x="0" reftest-displayport-y="0"
      reftest-displayport-w="800" reftest-displayport-h="2000"
      reftest-async-scroll-x="0" reftest-async-scroll-y="20">

<title>like fixed-pos-scrolled-clip-1.html, but inside a transform. This also tests that scrolling the root scroll frame moves the "fixed" layer which is only fixed with respect to the transform, not with respect to the viewport.</title>

<style>

body {
  margin: 0;
  height: 4000px;
}

.transform {
  transform: translate(10px, 10px);
  width: 500px;
}

.subframe {
  height: 600px;
  overflow: auto;
  box-shadow: 0 0 0 2px black;
}

.scrolled {
  height: 4000px;
  position: relative;
}

.absoluteClip {
  position: absolute;
  top: 300px;
  left: 100px;
  width: 200px;
  height: 200px;
  background: red;
  clip: rect(auto auto auto auto);
}

.fixed {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(lime, lime) black 0 100px no-repeat;
  background-size: 100% 200px;
}

</style>

<div class="transform">
  <div class="subframe"
       reftest-displayport-x="0" reftest-displayport-y="0"
       reftest-displayport-w="800" reftest-displayport-h="2000"
       reftest-async-scroll-x="0" reftest-async-scroll-y="200">
    <div class="scrolled">
      <div class="absoluteClip">
        <div class="fixed"></div>
      </div>
    </div>
  </div>
</div>