OLD | NEW |
1 The gray div is a composited fixed-position element, and the cyan/lime elements
should be squashed together on top. When scrolling, paragraphs may pop in-and-ou
t of the squashing layer when they change overlapping status with respect to the
composited layer underneath. | 1 The gray div is a composited fixed-position element, and the cyan/lime elements
should be squashed together on top. When scrolling, paragraphs may pop in-and-ou
t of the squashing layer when they change overlapping status with respect to the
composited layer underneath. |
2 | 2 |
3 This scenario tests (1) that content repaints correctly as layers pop in and out
of squashing, and (2) that the positioning of the squashing layer remains corre
ct (i.e. scrolls properly) when the squashing layer is on top of a fixed-positio
n composited layer. | 3 This scenario tests (1) that content repaints correctly as layers pop in and out
of squashing, and (2) that the positioning of the squashing layer remains corre
ct (i.e. scrolls properly) when the squashing layer is on top of a fixed-positio
n composited layer. |
4 | 4 |
5 CASE 1, original layer tree: | 5 CASE 1, original layer tree: |
6 { | 6 { |
7 "bounds": [785, 1400], | 7 "bounds": [785, 1400], |
8 "children": [ | 8 "children": [ |
9 { | 9 { |
10 "bounds": [785, 1400], | 10 "bounds": [785, 1400], |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 CASE 2, scrolling y to 80, new layers will be squashed, so things repaint: | 42 CASE 2, scrolling y to 80, new layers will be squashed, so things repaint: |
43 { | 43 { |
44 "bounds": [785, 1400], | 44 "bounds": [785, 1400], |
45 "children": [ | 45 "children": [ |
46 { | 46 { |
47 "bounds": [785, 1400], | 47 "bounds": [785, 1400], |
48 "contentsOpaque": true, | 48 "contentsOpaque": true, |
49 "drawsContent": true, | 49 "drawsContent": true, |
50 "paintInvalidations": [ | 50 "paintInvalidations": [ |
51 { | 51 { |
52 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-b'
class='overlapping lime'", | 52 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-f'
class='overlapping lime'", |
53 "rect": [0, 100, 200, 100], | 53 "rect": [0, 500, 200, 100], |
54 "reason": "location change" | |
55 }, | |
56 { | |
57 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-c'
class='overlapping cyan'", | |
58 "rect": [0, 0, 200, 100], | |
59 "reason": "layer" | |
60 }, | |
61 { | |
62 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-d'
class='overlapping lime'", | |
63 "rect": [0, 100, 200, 100], | |
64 "reason": "layer" | 54 "reason": "layer" |
65 }, | 55 }, |
66 { | 56 { |
67 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-e'
class='overlapping cyan'", | 57 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-e'
class='overlapping cyan'", |
68 "rect": [0, 200, 200, 100], | 58 "rect": [0, 200, 200, 100], |
69 "reason": "layer" | 59 "reason": "layer" |
70 }, | 60 }, |
71 { | 61 { |
72 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-f'
class='overlapping lime'", | 62 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-b'
class='overlapping lime'", |
73 "rect": [0, 500, 200, 100], | 63 "rect": [0, 100, 200, 100], |
| 64 "reason": "location change" |
| 65 }, |
| 66 { |
| 67 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-d'
class='overlapping lime'", |
| 68 "rect": [0, 100, 200, 100], |
| 69 "reason": "layer" |
| 70 }, |
| 71 { |
| 72 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-c'
class='overlapping cyan'", |
| 73 "rect": [0, 0, 200, 100], |
74 "reason": "layer" | 74 "reason": "layer" |
75 } | 75 } |
76 ], | 76 ], |
77 "children": [ | 77 "children": [ |
78 { | 78 { |
79 "position": [100, 230], | 79 "position": [100, 230], |
80 "bounds": [300, 300], | 80 "bounds": [300, 300], |
81 "contentsOpaque": true, | 81 "contentsOpaque": true, |
82 "drawsContent": true, | 82 "drawsContent": true, |
83 "backgroundColor": "#D3D3D3" | 83 "backgroundColor": "#D3D3D3" |
(...skipping 14 matching lines...) Expand all Loading... |
98 "reason": "compositing update" | 98 "reason": "compositing update" |
99 } | 99 } |
100 ] | 100 ] |
101 }, | 101 }, |
102 { | 102 { |
103 "position": [0, 300], | 103 "position": [0, 300], |
104 "bounds": [200, 300], | 104 "bounds": [200, 300], |
105 "drawsContent": true, | 105 "drawsContent": true, |
106 "paintInvalidations": [ | 106 "paintInvalidations": [ |
107 { | 107 { |
108 "object": "LayoutBlockFlow (relative positioned) DIV id='parag
raph-d' class='overlapping lime'", | 108 "object": "LayoutBlockFlow (relative positioned) DIV id='parag
raph-f' class='overlapping lime'", |
109 "rect": [0, 0, 200, 100], | 109 "rect": [0, 200, 200, 100], |
110 "reason": "location change" | 110 "reason": "location change" |
111 }, | 111 }, |
112 { | 112 { |
113 "object": "LayoutBlockFlow (relative positioned) DIV id='parag
raph-e' class='overlapping cyan'", | 113 "object": "LayoutBlockFlow (relative positioned) DIV id='parag
raph-e' class='overlapping cyan'", |
114 "rect": [0, 100, 200, 100], | 114 "rect": [0, 100, 200, 100], |
115 "reason": "location change" | 115 "reason": "location change" |
116 }, | 116 }, |
117 { | 117 { |
118 "object": "LayoutBlockFlow (relative positioned) DIV id='parag
raph-f' class='overlapping lime'", | 118 "object": "LayoutBlockFlow (relative positioned) DIV id='parag
raph-d' class='overlapping lime'", |
119 "rect": [0, 200, 200, 100], | 119 "rect": [0, 0, 200, 100], |
120 "reason": "location change" | 120 "reason": "location change" |
121 } | 121 } |
122 ] | 122 ] |
123 } | 123 } |
124 ] | 124 ] |
125 } | 125 } |
126 ] | 126 ] |
127 } | 127 } |
128 ] | 128 ] |
129 } | 129 } |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
167 CASE 4, scrolling y to 170 new layers will be squashed, so things repaint: | 167 CASE 4, scrolling y to 170 new layers will be squashed, so things repaint: |
168 { | 168 { |
169 "bounds": [785, 1400], | 169 "bounds": [785, 1400], |
170 "children": [ | 170 "children": [ |
171 { | 171 { |
172 "bounds": [785, 1400], | 172 "bounds": [785, 1400], |
173 "contentsOpaque": true, | 173 "contentsOpaque": true, |
174 "drawsContent": true, | 174 "drawsContent": true, |
175 "paintInvalidations": [ | 175 "paintInvalidations": [ |
176 { | 176 { |
| 177 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-g'
class='overlapping cyan'", |
| 178 "rect": [0, 600, 200, 100], |
| 179 "reason": "layer" |
| 180 }, |
| 181 { |
177 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-c'
class='overlapping cyan'", | 182 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-c'
class='overlapping cyan'", |
178 "rect": [0, 200, 200, 100], | 183 "rect": [0, 200, 200, 100], |
179 "reason": "location change" | 184 "reason": "location change" |
180 }, | 185 }, |
181 { | 186 { |
182 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-d'
class='overlapping lime'", | 187 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-f'
class='overlapping lime'", |
183 "rect": [0, 0, 200, 100], | 188 "rect": [0, 200, 200, 100], |
184 "reason": "layer" | 189 "reason": "layer" |
185 }, | 190 }, |
186 { | 191 { |
187 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-e'
class='overlapping cyan'", | 192 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-e'
class='overlapping cyan'", |
188 "rect": [0, 100, 200, 100], | 193 "rect": [0, 100, 200, 100], |
189 "reason": "layer" | 194 "reason": "layer" |
190 }, | 195 }, |
191 { | 196 { |
192 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-f'
class='overlapping lime'", | 197 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-d'
class='overlapping lime'", |
193 "rect": [0, 200, 200, 100], | 198 "rect": [0, 0, 200, 100], |
194 "reason": "layer" | |
195 }, | |
196 { | |
197 "object": "LayoutBlockFlow (relative positioned) DIV id='paragraph-g'
class='overlapping cyan'", | |
198 "rect": [0, 600, 200, 100], | |
199 "reason": "layer" | 199 "reason": "layer" |
200 } | 200 } |
201 ], | 201 ], |
202 "children": [ | 202 "children": [ |
203 { | 203 { |
204 "position": [100, 320], | 204 "position": [100, 320], |
205 "bounds": [300, 300], | 205 "bounds": [300, 300], |
206 "contentsOpaque": true, | 206 "contentsOpaque": true, |
207 "drawsContent": true, | 207 "drawsContent": true, |
208 "backgroundColor": "#D3D3D3" | 208 "backgroundColor": "#D3D3D3" |
(...skipping 14 matching lines...) Expand all Loading... |
223 "reason": "compositing update" | 223 "reason": "compositing update" |
224 } | 224 } |
225 ] | 225 ] |
226 }, | 226 }, |
227 { | 227 { |
228 "position": [0, 400], | 228 "position": [0, 400], |
229 "bounds": [200, 300], | 229 "bounds": [200, 300], |
230 "drawsContent": true, | 230 "drawsContent": true, |
231 "paintInvalidations": [ | 231 "paintInvalidations": [ |
232 { | 232 { |
233 "object": "LayoutBlockFlow (relative positioned) DIV id='parag
raph-e' class='overlapping cyan'", | 233 "object": "LayoutBlockFlow (relative positioned) DIV id='parag
raph-g' class='overlapping cyan'", |
234 "rect": [0, 0, 200, 100], | 234 "rect": [0, 200, 200, 100], |
235 "reason": "location change" | 235 "reason": "location change" |
236 }, | 236 }, |
237 { | 237 { |
238 "object": "LayoutBlockFlow (relative positioned) DIV id='parag
raph-f' class='overlapping lime'", | 238 "object": "LayoutBlockFlow (relative positioned) DIV id='parag
raph-f' class='overlapping lime'", |
239 "rect": [0, 100, 200, 100], | 239 "rect": [0, 100, 200, 100], |
240 "reason": "location change" | 240 "reason": "location change" |
241 }, | 241 }, |
242 { | 242 { |
243 "object": "LayoutBlockFlow (relative positioned) DIV id='parag
raph-g' class='overlapping cyan'", | 243 "object": "LayoutBlockFlow (relative positioned) DIV id='parag
raph-e' class='overlapping cyan'", |
244 "rect": [0, 200, 200, 100], | 244 "rect": [0, 0, 200, 100], |
245 "reason": "location change" | 245 "reason": "location change" |
246 } | 246 } |
247 ] | 247 ] |
248 } | 248 } |
249 ] | 249 ] |
250 } | 250 } |
251 ] | 251 ] |
252 } | 252 } |
253 ] | 253 ] |
254 } | 254 } |
255 | 255 |
OLD | NEW |