| OLD | NEW |
| (Empty) |
| 1 Basic repaint test for squashed layers. The entire squashing layer should not ne
ed repainting when only a portion of it is invalidated. Test interactively by us
ing --show-paint-rects and hovering over elements to change their color. | |
| 2 | |
| 3 CASE 1, original layer tree: | |
| 4 { | |
| 5 "bounds": [800, 600], | |
| 6 "children": [ | |
| 7 { | |
| 8 "bounds": [800, 600], | |
| 9 "contentsOpaque": true, | |
| 10 "drawsContent": true, | |
| 11 "children": [ | |
| 12 { | |
| 13 "children": [ | |
| 14 { | |
| 15 "position": [60, 60], | |
| 16 "bounds": [100, 100], | |
| 17 "contentsOpaque": true, | |
| 18 "drawsContent": true, | |
| 19 "backgroundColor": "#808080" | |
| 20 }, | |
| 21 { | |
| 22 "position": [140, 140], | |
| 23 "bounds": [260, 260], | |
| 24 "drawsContent": true | |
| 25 } | |
| 26 ] | |
| 27 } | |
| 28 ] | |
| 29 } | |
| 30 ] | |
| 31 } | |
| 32 CASE 2, overlap1 changes color: | |
| 33 { | |
| 34 "bounds": [800, 600], | |
| 35 "children": [ | |
| 36 { | |
| 37 "bounds": [800, 600], | |
| 38 "contentsOpaque": true, | |
| 39 "drawsContent": true, | |
| 40 "children": [ | |
| 41 { | |
| 42 "children": [ | |
| 43 { | |
| 44 "position": [60, 60], | |
| 45 "bounds": [100, 100], | |
| 46 "contentsOpaque": true, | |
| 47 "drawsContent": true, | |
| 48 "backgroundColor": "#808080" | |
| 49 }, | |
| 50 { | |
| 51 "position": [140, 140], | |
| 52 "bounds": [260, 260], | |
| 53 "drawsContent": true, | |
| 54 "repaintRects": [ | |
| 55 [0, 0, 100, 100] | |
| 56 ] | |
| 57 } | |
| 58 ] | |
| 59 } | |
| 60 ] | |
| 61 } | |
| 62 ] | |
| 63 } | |
| 64 CASE 3, overlap1 and overlap2 change color: | |
| 65 { | |
| 66 "bounds": [800, 600], | |
| 67 "children": [ | |
| 68 { | |
| 69 "bounds": [800, 600], | |
| 70 "contentsOpaque": true, | |
| 71 "drawsContent": true, | |
| 72 "children": [ | |
| 73 { | |
| 74 "children": [ | |
| 75 { | |
| 76 "position": [60, 60], | |
| 77 "bounds": [100, 100], | |
| 78 "contentsOpaque": true, | |
| 79 "drawsContent": true, | |
| 80 "backgroundColor": "#808080" | |
| 81 }, | |
| 82 { | |
| 83 "position": [140, 140], | |
| 84 "bounds": [260, 260], | |
| 85 "drawsContent": true, | |
| 86 "repaintRects": [ | |
| 87 [80, 80, 100, 100], | |
| 88 [0, 0, 100, 100] | |
| 89 ] | |
| 90 } | |
| 91 ] | |
| 92 } | |
| 93 ] | |
| 94 } | |
| 95 ] | |
| 96 } | |
| 97 CASE 4, overlap2 and overlap3 change color: | |
| 98 { | |
| 99 "bounds": [800, 600], | |
| 100 "children": [ | |
| 101 { | |
| 102 "bounds": [800, 600], | |
| 103 "contentsOpaque": true, | |
| 104 "drawsContent": true, | |
| 105 "children": [ | |
| 106 { | |
| 107 "children": [ | |
| 108 { | |
| 109 "position": [60, 60], | |
| 110 "bounds": [100, 100], | |
| 111 "contentsOpaque": true, | |
| 112 "drawsContent": true, | |
| 113 "backgroundColor": "#808080" | |
| 114 }, | |
| 115 { | |
| 116 "position": [140, 140], | |
| 117 "bounds": [260, 260], | |
| 118 "drawsContent": true, | |
| 119 "repaintRects": [ | |
| 120 [160, 160, 100, 100], | |
| 121 [80, 80, 100, 100] | |
| 122 ] | |
| 123 } | |
| 124 ] | |
| 125 } | |
| 126 ] | |
| 127 } | |
| 128 ] | |
| 129 } | |
| 130 CASE 5, overlap3 and overlap1 change color: | |
| 131 { | |
| 132 "bounds": [800, 600], | |
| 133 "children": [ | |
| 134 { | |
| 135 "bounds": [800, 600], | |
| 136 "contentsOpaque": true, | |
| 137 "drawsContent": true, | |
| 138 "children": [ | |
| 139 { | |
| 140 "children": [ | |
| 141 { | |
| 142 "position": [60, 60], | |
| 143 "bounds": [100, 100], | |
| 144 "contentsOpaque": true, | |
| 145 "drawsContent": true, | |
| 146 "backgroundColor": "#808080" | |
| 147 }, | |
| 148 { | |
| 149 "position": [140, 140], | |
| 150 "bounds": [260, 260], | |
| 151 "drawsContent": true, | |
| 152 "repaintRects": [ | |
| 153 [160, 160, 100, 100], | |
| 154 [0, 0, 100, 100] | |
| 155 ] | |
| 156 } | |
| 157 ] | |
| 158 } | |
| 159 ] | |
| 160 } | |
| 161 ] | |
| 162 } | |
| 163 | |
| OLD | NEW |