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-out of the squashing layer when they change overlapping status with respect to the composited layer underneath.
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 correct (i.e. scrolls properly) when the squashing layer is on top of a fixed-position composited layer.
5 CASE 1, original layer tree:
10 "bounds": [785, 1400],
11 "contentsOpaque": true,
15 "position": [100, 150],
17 "contentsOpaque": true,
19 "backgroundColor": "#D3D3D3"
22 "shouldFlattenTransform": false,
27 "contentsOpaque": true,
29 "backgroundColor": "#00FF00"
42 CASE 2, scrolling y to 80, new layers will be squashed, so things repaint:
44 "bounds": [785, 1400],
47 "bounds": [785, 1400],
48 "contentsOpaque": true,
59 "position": [100, 230],
61 "contentsOpaque": true,
63 "backgroundColor": "#D3D3D3"
66 "shouldFlattenTransform": false,
71 "contentsOpaque": true,
73 "backgroundColor": "#00FFFF",
94 CASE 3, scrolling y to 120, no repaints expected:
96 "bounds": [785, 1400],
99 "bounds": [785, 1400],
100 "contentsOpaque": true,
101 "drawsContent": true,
104 "position": [100, 270],
105 "bounds": [300, 300],
106 "contentsOpaque": true,
107 "drawsContent": true,
108 "backgroundColor": "#D3D3D3"
111 "shouldFlattenTransform": false,
114 "position": [0, 200],
115 "bounds": [200, 100],
116 "contentsOpaque": true,
117 "drawsContent": true,
118 "backgroundColor": "#00FFFF"
121 "position": [0, 300],
122 "bounds": [200, 300],
131 CASE 4, scrolling y to 170 new layers will be squashed, so things repaint:
133 "bounds": [785, 1400],
136 "bounds": [785, 1400],
137 "contentsOpaque": true,
138 "drawsContent": true,
148 "position": [100, 320],
149 "bounds": [300, 300],
150 "contentsOpaque": true,
151 "drawsContent": true,
152 "backgroundColor": "#D3D3D3"
155 "shouldFlattenTransform": false,
158 "position": [0, 300],
159 "bounds": [200, 100],
160 "contentsOpaque": true,
161 "drawsContent": true,
162 "backgroundColor": "#00FF00",
168 "position": [0, 400],
169 "bounds": [200, 300],
170 "drawsContent": true,