OLD | NEW |
1 Test that layers can be nicely added or removed from a squashed layer, without u
nnecessary repaints on any layer. Click anywhere to test interactively; keep cli
cking to proceed through the test. | 1 Test that layers can be nicely added or removed from a squashed layer, without u
nnecessary repaints on any layer. Click anywhere to test interactively; keep cli
cking to proceed through the test. |
2 | 2 |
3 CASE 1, original layer tree with overlap1 and overlap2: | 3 CASE 1, original layer tree with overlap1 and overlap2: |
4 { | 4 { |
5 "bounds": [800, 600], | 5 "bounds": [800, 600], |
6 "children": [ | 6 "children": [ |
7 { | 7 { |
8 "bounds": [800, 600], | 8 "bounds": [800, 600], |
9 "contentsOpaque": true, | 9 "contentsOpaque": true, |
10 "drawsContent": true, | 10 "drawsContent": true, |
(...skipping 23 matching lines...) Expand all Loading... |
34 { | 34 { |
35 "bounds": [800, 600], | 35 "bounds": [800, 600], |
36 "children": [ | 36 "children": [ |
37 { | 37 { |
38 "bounds": [800, 600], | 38 "bounds": [800, 600], |
39 "contentsOpaque": true, | 39 "contentsOpaque": true, |
40 "drawsContent": true, | 40 "drawsContent": true, |
41 "paintInvalidations": [ | 41 "paintInvalidations": [ |
42 { | 42 { |
43 "object": "LayoutBlockFlow (positioned) DIV id='C' class='overlap3'", | 43 "object": "LayoutBlockFlow (positioned) DIV id='C' class='overlap3'", |
44 "reason": "layer" | 44 "reason": "subtree" |
45 } | 45 } |
46 ], | 46 ], |
47 "children": [ | 47 "children": [ |
48 { | 48 { |
49 "shouldFlattenTransform": false, | 49 "shouldFlattenTransform": false, |
50 "children": [ | 50 "children": [ |
51 { | 51 { |
52 "position": [60, 60], | 52 "position": [60, 60], |
53 "bounds": [400, 400], | 53 "bounds": [400, 400], |
54 "contentsOpaque": true, | 54 "contentsOpaque": true, |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 "backgroundColor": "#808080" | 130 "backgroundColor": "#808080" |
131 }, | 131 }, |
132 { | 132 { |
133 "position": [300, 300], | 133 "position": [300, 300], |
134 "bounds": [100, 100], | 134 "bounds": [100, 100], |
135 "drawsContent": true, | 135 "drawsContent": true, |
136 "paintInvalidations": [ | 136 "paintInvalidations": [ |
137 { | 137 { |
138 "object": "LayoutBlockFlow (positioned) DIV id='C' class='over
lap3'", | 138 "object": "LayoutBlockFlow (positioned) DIV id='C' class='over
lap3'", |
139 "rect": [160, 160, 100, 100], | 139 "rect": [160, 160, 100, 100], |
140 "reason": "layer" | 140 "reason": "subtree" |
141 }, | 141 }, |
142 { | 142 { |
143 "object": "LayoutBlockFlow (positioned) DIV id='A' class='over
lap1'", | 143 "object": "LayoutBlockFlow (positioned) DIV id='A' class='over
lap1'", |
144 "rect": [0, 0, 100, 100], | 144 "rect": [0, 0, 100, 100], |
145 "reason": "layoutObject removal" | 145 "reason": "layoutObject removal" |
146 }, | 146 }, |
147 { | 147 { |
148 "object": "LayoutBlockFlow (positioned) DIV id='C' class='over
lap3'", | 148 "object": "LayoutBlockFlow (positioned) DIV id='C' class='over
lap3'", |
149 "rect": [0, 0, 100, 100], | 149 "rect": [0, 0, 100, 100], |
150 "reason": "compositing update" | 150 "reason": "compositing update" |
(...skipping 10 matching lines...) Expand all Loading... |
161 { | 161 { |
162 "bounds": [800, 600], | 162 "bounds": [800, 600], |
163 "children": [ | 163 "children": [ |
164 { | 164 { |
165 "bounds": [800, 600], | 165 "bounds": [800, 600], |
166 "contentsOpaque": true, | 166 "contentsOpaque": true, |
167 "drawsContent": true, | 167 "drawsContent": true, |
168 "paintInvalidations": [ | 168 "paintInvalidations": [ |
169 { | 169 { |
170 "object": "LayoutBlockFlow (positioned) DIV id='B' class='overlap2'", | 170 "object": "LayoutBlockFlow (positioned) DIV id='B' class='overlap2'", |
171 "reason": "layer" | 171 "reason": "subtree" |
172 } | 172 } |
173 ], | 173 ], |
174 "children": [ | 174 "children": [ |
175 { | 175 { |
176 "shouldFlattenTransform": false, | 176 "shouldFlattenTransform": false, |
177 "children": [ | 177 "children": [ |
178 { | 178 { |
179 "position": [60, 60], | 179 "position": [60, 60], |
180 "bounds": [400, 400], | 180 "bounds": [400, 400], |
181 "contentsOpaque": true, | 181 "contentsOpaque": true, |
(...skipping 11 matching lines...) Expand all Loading... |
193 "reason": "compositing update" | 193 "reason": "compositing update" |
194 }, | 194 }, |
195 { | 195 { |
196 "object": "LayoutBlockFlow (positioned) DIV id='B' class='over
lap2'", | 196 "object": "LayoutBlockFlow (positioned) DIV id='B' class='over
lap2'", |
197 "rect": [0, 0, 100, 100], | 197 "rect": [0, 0, 100, 100], |
198 "reason": "layoutObject insertion" | 198 "reason": "layoutObject insertion" |
199 }, | 199 }, |
200 { | 200 { |
201 "object": "LayoutBlockFlow (positioned) DIV id='C' class='over
lap3'", | 201 "object": "LayoutBlockFlow (positioned) DIV id='C' class='over
lap3'", |
202 "rect": [0, 0, 100, 100], | 202 "rect": [0, 0, 100, 100], |
203 "reason": "layer" | 203 "reason": "subtree" |
204 } | 204 } |
205 ] | 205 ] |
206 } | 206 } |
207 ] | 207 ] |
208 } | 208 } |
209 ] | 209 ] |
210 } | 210 } |
211 ] | 211 ] |
212 } | 212 } |
213 CASE 6, overlap1 gets added back, and overlap3 gets removed: | 213 CASE 6, overlap1 gets added back, and overlap3 gets removed: |
214 { | 214 { |
215 "bounds": [800, 600], | 215 "bounds": [800, 600], |
216 "children": [ | 216 "children": [ |
217 { | 217 { |
218 "bounds": [800, 600], | 218 "bounds": [800, 600], |
219 "contentsOpaque": true, | 219 "contentsOpaque": true, |
220 "drawsContent": true, | 220 "drawsContent": true, |
221 "paintInvalidations": [ | 221 "paintInvalidations": [ |
222 { | 222 { |
223 "object": "LayoutBlockFlow (positioned) DIV id='A' class='overlap1'", | 223 "object": "LayoutBlockFlow (positioned) DIV id='A' class='overlap1'", |
224 "reason": "layer" | 224 "reason": "subtree" |
225 } | 225 } |
226 ], | 226 ], |
227 "children": [ | 227 "children": [ |
228 { | 228 { |
229 "shouldFlattenTransform": false, | 229 "shouldFlattenTransform": false, |
230 "children": [ | 230 "children": [ |
231 { | 231 { |
232 "position": [60, 60], | 232 "position": [60, 60], |
233 "bounds": [400, 400], | 233 "bounds": [400, 400], |
234 "contentsOpaque": true, | 234 "contentsOpaque": true, |
(...skipping 16 matching lines...) Expand all Loading... |
251 "reason": "layoutObject removal" | 251 "reason": "layoutObject removal" |
252 }, | 252 }, |
253 { | 253 { |
254 "object": "LayoutBlockFlow (positioned) DIV id='A' class='over
lap1'", | 254 "object": "LayoutBlockFlow (positioned) DIV id='A' class='over
lap1'", |
255 "rect": [0, 0, 100, 100], | 255 "rect": [0, 0, 100, 100], |
256 "reason": "layoutObject insertion" | 256 "reason": "layoutObject insertion" |
257 }, | 257 }, |
258 { | 258 { |
259 "object": "LayoutBlockFlow (positioned) DIV id='B' class='over
lap2'", | 259 "object": "LayoutBlockFlow (positioned) DIV id='B' class='over
lap2'", |
260 "rect": [0, 0, 100, 100], | 260 "rect": [0, 0, 100, 100], |
261 "reason": "layer" | 261 "reason": "subtree" |
262 } | 262 } |
263 ] | 263 ] |
264 } | 264 } |
265 ] | 265 ] |
266 } | 266 } |
267 ] | 267 ] |
268 } | 268 } |
269 ] | 269 ] |
270 } | 270 } |
271 | 271 |
OLD | NEW |