1 Basic repaint test for squashed layers. The entire squashing layer should not need repainting when only a portion of it is invalidated. Test interactively by using --show-paint-rects and hovering over elements to change their color.
3 CASE 1, original layer tree:
9 "contentsOpaque": true,
13 "shouldFlattenTransform": false,
18 "contentsOpaque": true,
20 "backgroundColor": "#808080"
23 "position": [140, 140],
33 CASE 2, overlap1 changes color:
39 "contentsOpaque": true,
43 "shouldFlattenTransform": false,
48 "contentsOpaque": true,
50 "backgroundColor": "#808080"
53 "position": [140, 140],
66 CASE 3, overlap1 and overlap2 change color:
72 "contentsOpaque": true,
76 "shouldFlattenTransform": false,
81 "contentsOpaque": true,
83 "backgroundColor": "#808080"
86 "position": [140, 140],
100 CASE 4, overlap2 and overlap3 change color:
102 "bounds": [800, 600],
105 "bounds": [800, 600],
106 "contentsOpaque": true,
107 "drawsContent": true,
110 "shouldFlattenTransform": false,
113 "position": [60, 60],
114 "bounds": [100, 100],
115 "contentsOpaque": true,
116 "drawsContent": true,
117 "backgroundColor": "#808080"
120 "position": [140, 140],
121 "bounds": [260, 260],
122 "drawsContent": true,
124 [160, 160, 100, 100],
134 CASE 5, overlap3 and overlap1 change color:
136 "bounds": [800, 600],
139 "bounds": [800, 600],
140 "contentsOpaque": true,
141 "drawsContent": true,
144 "shouldFlattenTransform": false,
147 "position": [60, 60],
148 "bounds": [100, 100],
149 "contentsOpaque": true,
150 "drawsContent": true,
151 "backgroundColor": "#808080"
154 "position": [140, 140],
155 "bounds": [260, 260],
156 "drawsContent": true,
158 [160, 160, 100, 100],