| 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 20 matching lines...) Expand all Loading... |
| 31 } | 31 } |
| 32 CASE 2, overlap3 gets added: | 32 CASE 2, overlap3 gets added: |
| 33 { | 33 { |
| 34 "bounds": [800, 600], | 34 "bounds": [800, 600], |
| 35 "children": [ | 35 "children": [ |
| 36 { | 36 { |
| 37 "bounds": [800, 600], | 37 "bounds": [800, 600], |
| 38 "contentsOpaque": true, | 38 "contentsOpaque": true, |
| 39 "drawsContent": true, | 39 "drawsContent": true, |
| 40 "repaintRects": [ | 40 "repaintRects": [ |
| 41 [300, 300, 100, 100], |
| 41 [300, 300, 100, 100] | 42 [300, 300, 100, 100] |
| 42 ], | 43 ], |
| 43 "children": [ | 44 "children": [ |
| 44 { | 45 { |
| 45 "children": [ | 46 "children": [ |
| 46 { | 47 { |
| 47 "position": [60, 60], | 48 "position": [60, 60], |
| 48 "bounds": [400, 400], | 49 "bounds": [400, 400], |
| 49 "contentsOpaque": true, | 50 "contentsOpaque": true, |
| 50 "drawsContent": true, | 51 "drawsContent": true, |
| 51 "backgroundColor": "#808080" | 52 "backgroundColor": "#808080" |
| 52 }, | 53 }, |
| 53 { | 54 { |
| 54 "position": [140, 140], | 55 "position": [140, 140], |
| 55 "bounds": [260, 260], | 56 "bounds": [260, 260], |
| 56 "drawsContent": true, | 57 "drawsContent": true, |
| 57 "repaintRects": [ | 58 "repaintRects": [ |
| 58 [160, 160, 100, 100], | 59 [160, 160, 100, 100], |
| 59 [160, 160, 100, 100] | 60 [80, 80, 100, 100], |
| 61 [0, 0, 100, 100] |
| 60 ] | 62 ] |
| 61 } | 63 } |
| 62 ] | 64 ] |
| 63 } | 65 } |
| 64 ] | 66 ] |
| 65 } | 67 } |
| 66 ] | 68 ] |
| 67 } | 69 } |
| 68 CASE 3, overlap2 gets removed. Since this does not resize the layer, there shoul
d only be a repaint of overlap2: | 70 CASE 3, overlap2 gets removed. Since this does not resize the layer, there shoul
d only be a repaint of overlap2: |
| 69 { | 71 { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 81 "bounds": [400, 400], | 83 "bounds": [400, 400], |
| 82 "contentsOpaque": true, | 84 "contentsOpaque": true, |
| 83 "drawsContent": true, | 85 "drawsContent": true, |
| 84 "backgroundColor": "#808080" | 86 "backgroundColor": "#808080" |
| 85 }, | 87 }, |
| 86 { | 88 { |
| 87 "position": [140, 140], | 89 "position": [140, 140], |
| 88 "bounds": [260, 260], | 90 "bounds": [260, 260], |
| 89 "drawsContent": true, | 91 "drawsContent": true, |
| 90 "repaintRects": [ | 92 "repaintRects": [ |
| 93 [160, 160, 100, 100], |
| 91 [80, 80, 100, 100] | 94 [80, 80, 100, 100] |
| 92 ] | 95 ] |
| 93 } | 96 } |
| 94 ] | 97 ] |
| 95 } | 98 } |
| 96 ] | 99 ] |
| 97 } | 100 } |
| 98 ] | 101 ] |
| 99 } | 102 } |
| 100 CASE 4, overlap1 gets removed: | 103 CASE 4, overlap1 gets removed: |
| (...skipping 14 matching lines...) Expand all Loading... |
| 115 "drawsContent": true, | 118 "drawsContent": true, |
| 116 "backgroundColor": "#808080" | 119 "backgroundColor": "#808080" |
| 117 }, | 120 }, |
| 118 { | 121 { |
| 119 "position": [300, 300], | 122 "position": [300, 300], |
| 120 "bounds": [100, 100], | 123 "bounds": [100, 100], |
| 121 "drawsContent": true, | 124 "drawsContent": true, |
| 122 "repaintRects": [ | 125 "repaintRects": [ |
| 123 [160, 160, 100, 100], | 126 [160, 160, 100, 100], |
| 124 [0, 0, 100, 100], | 127 [0, 0, 100, 100], |
| 125 [0, 0, 100, 100], | |
| 126 [0, 0, 100, 100] | 128 [0, 0, 100, 100] |
| 127 ] | 129 ] |
| 128 } | 130 } |
| 129 ] | 131 ] |
| 130 } | 132 } |
| 131 ] | 133 ] |
| 132 } | 134 } |
| 133 ] | 135 ] |
| 134 } | 136 } |
| 135 CASE 5, overlap2 gets added back: | 137 CASE 5, overlap2 gets added back: |
| 136 { | 138 { |
| 137 "bounds": [800, 600], | 139 "bounds": [800, 600], |
| 138 "children": [ | 140 "children": [ |
| 139 { | 141 { |
| 140 "bounds": [800, 600], | 142 "bounds": [800, 600], |
| 141 "contentsOpaque": true, | 143 "contentsOpaque": true, |
| 142 "drawsContent": true, | 144 "drawsContent": true, |
| 143 "repaintRects": [ | 145 "repaintRects": [ |
| 146 [220, 220, 100, 100], |
| 144 [220, 220, 100, 100] | 147 [220, 220, 100, 100] |
| 145 ], | 148 ], |
| 146 "children": [ | 149 "children": [ |
| 147 { | 150 { |
| 148 "children": [ | 151 "children": [ |
| 149 { | 152 { |
| 150 "position": [60, 60], | 153 "position": [60, 60], |
| 151 "bounds": [400, 400], | 154 "bounds": [400, 400], |
| 152 "contentsOpaque": true, | 155 "contentsOpaque": true, |
| 153 "drawsContent": true, | 156 "drawsContent": true, |
| 154 "backgroundColor": "#808080" | 157 "backgroundColor": "#808080" |
| 155 }, | 158 }, |
| 156 { | 159 { |
| 157 "position": [220, 220], | 160 "position": [220, 220], |
| 158 "bounds": [180, 180], | 161 "bounds": [180, 180], |
| 159 "drawsContent": true, | 162 "drawsContent": true, |
| 160 "repaintRects": [ | 163 "repaintRects": [ |
| 161 [80, 80, 100, 100], | 164 [80, 80, 100, 100], |
| 162 [80, 80, 100, 100], | |
| 163 [0, 0, 100, 100], | 165 [0, 0, 100, 100], |
| 164 [0, 0, 100, 100], | 166 [0, 0, 100, 100], |
| 165 [0, 0, 100, 100] | 167 [0, 0, 100, 100] |
| 166 ] | 168 ] |
| 167 } | 169 } |
| 168 ] | 170 ] |
| 169 } | 171 } |
| 170 ] | 172 ] |
| 171 } | 173 } |
| 172 ] | 174 ] |
| 173 } | 175 } |
| 174 CASE 6, overlap1 gets added back, and overlap3 gets removed: | 176 CASE 6, overlap1 gets added back, and overlap3 gets removed: |
| 175 { | 177 { |
| 176 "bounds": [800, 600], | 178 "bounds": [800, 600], |
| 177 "children": [ | 179 "children": [ |
| 178 { | 180 { |
| 179 "bounds": [800, 600], | 181 "bounds": [800, 600], |
| 180 "contentsOpaque": true, | 182 "contentsOpaque": true, |
| 181 "drawsContent": true, | 183 "drawsContent": true, |
| 182 "repaintRects": [ | 184 "repaintRects": [ |
| 185 [140, 140, 100, 100], |
| 183 [140, 140, 100, 100] | 186 [140, 140, 100, 100] |
| 184 ], | 187 ], |
| 185 "children": [ | 188 "children": [ |
| 186 { | 189 { |
| 187 "children": [ | 190 "children": [ |
| 188 { | 191 { |
| 189 "position": [60, 60], | 192 "position": [60, 60], |
| 190 "bounds": [400, 400], | 193 "bounds": [400, 400], |
| 191 "contentsOpaque": true, | 194 "contentsOpaque": true, |
| 192 "drawsContent": true, | 195 "drawsContent": true, |
| 193 "backgroundColor": "#808080" | 196 "backgroundColor": "#808080" |
| 194 }, | 197 }, |
| 195 { | 198 { |
| 196 "position": [140, 140], | 199 "position": [140, 140], |
| 197 "bounds": [180, 180], | 200 "bounds": [180, 180], |
| 198 "drawsContent": true, | 201 "drawsContent": true, |
| 199 "repaintRects": [ | 202 "repaintRects": [ |
| 200 [80, 80, 100, 100], | 203 [80, 80, 100, 100], |
| 201 [80, 80, 100, 100], | 204 [80, 80, 100, 100], |
| 202 [80, 80, 100, 100], | |
| 203 [0, 0, 100, 100], | 205 [0, 0, 100, 100], |
| 204 [0, 0, 100, 100], | 206 [0, 0, 100, 100], |
| 205 [0, 0, 100, 100] | 207 [0, 0, 100, 100] |
| 206 ] | 208 ] |
| 207 } | 209 } |
| 208 ] | 210 ] |
| 209 } | 211 } |
| 210 ] | 212 ] |
| 211 } | 213 } |
| 212 ] | 214 ] |
| 213 } | 215 } |
| 214 | 216 |
| OLD | NEW |