| OLD | NEW |
| 1 Test overlap is rendered correctly when hovering over elements | 1 Test overlap is rendered correctly when hovering over elements |
| 2 | 2 |
| 3 Case 1, original layer tree: | 3 Case 1, original layer tree: |
| 4 { | 4 { |
| 5 "name": "Content Root Layer", | 5 "layers": [ |
| 6 "bounds": [800, 600], | 6 { |
| 7 "children": [ | 7 "name": "LayoutView #document", |
| 8 { | 8 "bounds": [800, 600], |
| 9 "name": "LayoutView #document", | 9 "contentsOpaque": true, |
| 10 "bounds": [800, 600], | 10 "drawsContent": true |
| 11 "contentsOpaque": true, | 11 }, |
| 12 "drawsContent": true, | 12 { |
| 13 "children": [ | 13 "name": "LayoutBlockFlow DIV class='composited'", |
| 14 { | 14 "position": [8, 8], |
| 15 "name": "LayoutBlockFlow DIV class='composited'", | 15 "bounds": [784, 0] |
| 16 "position": [8, 8], | 16 }, |
| 17 "bounds": [784, 0] | 17 { |
| 18 }, | 18 "name": "Squashing Containment Layer", |
| 19 { | 19 "shouldFlattenTransform": false |
| 20 "name": "Squashing Containment Layer", | 20 }, |
| 21 "shouldFlattenTransform": false, | 21 { |
| 22 "children": [ | 22 "name": "LayoutBlockFlow (positioned) DIV class='composited box behind'", |
| 23 { | 23 "position": [100, 100], |
| 24 "name": "LayoutBlockFlow (positioned) DIV class='composited box be
hind'", | 24 "bounds": [100, 100], |
| 25 "position": [100, 100], | 25 "contentsOpaque": true, |
| 26 "bounds": [100, 100], | 26 "drawsContent": true, |
| 27 "contentsOpaque": true, | 27 "backgroundColor": "#0000FF" |
| 28 "drawsContent": true, | 28 }, |
| 29 "backgroundColor": "#0000FF" | 29 { |
| 30 }, | 30 "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positione
d) DIV class='box middle')", |
| 31 { | 31 "position": [180, 180], |
| 32 "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (p
ositioned) DIV class='box middle')", | 32 "bounds": [260, 260], |
| 33 "position": [180, 180], | 33 "drawsContent": true |
| 34 "bounds": [260, 260], | |
| 35 "drawsContent": true | |
| 36 } | |
| 37 ] | |
| 38 } | |
| 39 ] | |
| 40 } | 34 } |
| 41 ] | 35 ] |
| 42 } | 36 } |
| 43 Case 2: hovering over the "middle" element (causes that div to become its own co
mposited layer) | 37 Case 2: hovering over the "middle" element (causes that div to become its own co
mposited layer) |
| 44 { | 38 { |
| 45 "name": "Content Root Layer", | 39 "layers": [ |
| 46 "bounds": [800, 600], | 40 { |
| 47 "children": [ | 41 "name": "LayoutView #document", |
| 48 { | 42 "bounds": [800, 600], |
| 49 "name": "LayoutView #document", | 43 "contentsOpaque": true, |
| 50 "bounds": [800, 600], | 44 "drawsContent": true |
| 51 "contentsOpaque": true, | 45 }, |
| 52 "drawsContent": true, | 46 { |
| 53 "children": [ | 47 "name": "LayoutBlockFlow DIV class='composited'", |
| 54 { | 48 "position": [8, 8], |
| 55 "name": "LayoutBlockFlow DIV class='composited'", | 49 "bounds": [784, 0] |
| 56 "position": [8, 8], | 50 }, |
| 57 "bounds": [784, 0] | 51 { |
| 58 }, | 52 "name": "LayoutBlockFlow (positioned) DIV class='composited box behind'", |
| 59 { | 53 "position": [100, 100], |
| 60 "name": "LayoutBlockFlow (positioned) DIV class='composited box behind
'", | 54 "bounds": [100, 100], |
| 61 "position": [100, 100], | 55 "contentsOpaque": true, |
| 62 "bounds": [100, 100], | 56 "drawsContent": true, |
| 63 "contentsOpaque": true, | 57 "backgroundColor": "#0000FF" |
| 64 "drawsContent": true, | 58 }, |
| 65 "backgroundColor": "#0000FF" | 59 { |
| 66 }, | 60 "name": "Squashing Containment Layer", |
| 67 { | 61 "shouldFlattenTransform": false |
| 68 "name": "Squashing Containment Layer", | 62 }, |
| 69 "shouldFlattenTransform": false, | 63 { |
| 70 "children": [ | 64 "name": "LayoutBlockFlow (positioned) DIV class='box middle'", |
| 71 { | 65 "position": [180, 180], |
| 72 "name": "LayoutBlockFlow (positioned) DIV class='box middle'", | 66 "bounds": [100, 100], |
| 73 "position": [180, 180], | 67 "contentsOpaque": true, |
| 74 "bounds": [100, 100], | 68 "drawsContent": true, |
| 75 "contentsOpaque": true, | 69 "backgroundColor": "#008000" |
| 76 "drawsContent": true, | 70 }, |
| 77 "backgroundColor": "#008000" | 71 { |
| 78 }, | 72 "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positione
d) DIV class='box middle2')", |
| 79 { | 73 "position": [260, 260], |
| 80 "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (p
ositioned) DIV class='box middle2')", | 74 "bounds": [180, 180], |
| 81 "position": [260, 260], | 75 "drawsContent": true |
| 82 "bounds": [180, 180], | |
| 83 "drawsContent": true | |
| 84 } | |
| 85 ] | |
| 86 } | |
| 87 ] | |
| 88 } | 76 } |
| 89 ] | 77 ] |
| 90 } | 78 } |
| 91 Case 3: hovering over the "middle2" element (causes that div to become its own c
omposited layer) | 79 Case 3: hovering over the "middle2" element (causes that div to become its own c
omposited layer) |
| 92 { | 80 { |
| 93 "name": "Content Root Layer", | 81 "layers": [ |
| 94 "bounds": [800, 600], | 82 { |
| 95 "children": [ | 83 "name": "LayoutView #document", |
| 96 { | 84 "bounds": [800, 600], |
| 97 "name": "LayoutView #document", | 85 "contentsOpaque": true, |
| 98 "bounds": [800, 600], | 86 "drawsContent": true |
| 99 "contentsOpaque": true, | 87 }, |
| 100 "drawsContent": true, | 88 { |
| 101 "children": [ | 89 "name": "LayoutBlockFlow DIV class='composited'", |
| 102 { | 90 "position": [8, 8], |
| 103 "name": "LayoutBlockFlow DIV class='composited'", | 91 "bounds": [784, 0] |
| 104 "position": [8, 8], | 92 }, |
| 105 "bounds": [784, 0] | 93 { |
| 106 }, | 94 "name": "Squashing Containment Layer", |
| 107 { | 95 "shouldFlattenTransform": false |
| 108 "name": "Squashing Containment Layer", | 96 }, |
| 109 "shouldFlattenTransform": false, | 97 { |
| 110 "children": [ | 98 "name": "LayoutBlockFlow (positioned) DIV class='composited box behind'", |
| 111 { | 99 "position": [100, 100], |
| 112 "name": "LayoutBlockFlow (positioned) DIV class='composited box be
hind'", | 100 "bounds": [100, 100], |
| 113 "position": [100, 100], | 101 "contentsOpaque": true, |
| 114 "bounds": [100, 100], | 102 "drawsContent": true, |
| 115 "contentsOpaque": true, | 103 "backgroundColor": "#0000FF" |
| 116 "drawsContent": true, | 104 }, |
| 117 "backgroundColor": "#0000FF" | 105 { |
| 118 }, | 106 "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positione
d) DIV class='box middle')", |
| 119 { | 107 "position": [180, 180], |
| 120 "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (p
ositioned) DIV class='box middle')", | 108 "bounds": [100, 100], |
| 121 "position": [180, 180], | 109 "drawsContent": true |
| 122 "bounds": [100, 100], | 110 }, |
| 123 "drawsContent": true | 111 { |
| 124 } | 112 "name": "Squashing Containment Layer", |
| 125 ] | 113 "shouldFlattenTransform": false |
| 126 }, | 114 }, |
| 127 { | 115 { |
| 128 "name": "Squashing Containment Layer", | 116 "name": "LayoutBlockFlow (positioned) DIV class='box middle2'", |
| 129 "shouldFlattenTransform": false, | 117 "position": [260, 260], |
| 130 "children": [ | 118 "bounds": [100, 100], |
| 131 { | 119 "contentsOpaque": true, |
| 132 "name": "LayoutBlockFlow (positioned) DIV class='box middle2'", | 120 "drawsContent": true, |
| 133 "position": [260, 260], | 121 "backgroundColor": "#008000" |
| 134 "bounds": [100, 100], | 122 }, |
| 135 "contentsOpaque": true, | 123 { |
| 136 "drawsContent": true, | 124 "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positione
d) DIV class='box top')", |
| 137 "backgroundColor": "#008000" | 125 "position": [340, 340], |
| 138 }, | 126 "bounds": [100, 100], |
| 139 { | 127 "drawsContent": true |
| 140 "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (p
ositioned) DIV class='box top')", | |
| 141 "position": [340, 340], | |
| 142 "bounds": [100, 100], | |
| 143 "drawsContent": true | |
| 144 } | |
| 145 ] | |
| 146 } | |
| 147 ] | |
| 148 } | 128 } |
| 149 ] | 129 ] |
| 150 } | 130 } |
| 151 Case 4: hovering over the "top" element (causes that div to become its own compo
sited layer) | 131 Case 4: hovering over the "top" element (causes that div to become its own compo
sited layer) |
| 152 { | 132 { |
| 153 "name": "Content Root Layer", | 133 "layers": [ |
| 154 "bounds": [800, 600], | 134 { |
| 155 "children": [ | 135 "name": "LayoutView #document", |
| 156 { | 136 "bounds": [800, 600], |
| 157 "name": "LayoutView #document", | 137 "contentsOpaque": true, |
| 158 "bounds": [800, 600], | 138 "drawsContent": true |
| 159 "contentsOpaque": true, | 139 }, |
| 160 "drawsContent": true, | 140 { |
| 161 "children": [ | 141 "name": "LayoutBlockFlow DIV class='composited'", |
| 162 { | 142 "position": [8, 8], |
| 163 "name": "LayoutBlockFlow DIV class='composited'", | 143 "bounds": [784, 0] |
| 164 "position": [8, 8], | 144 }, |
| 165 "bounds": [784, 0] | 145 { |
| 166 }, | 146 "name": "Squashing Containment Layer", |
| 167 { | 147 "shouldFlattenTransform": false |
| 168 "name": "Squashing Containment Layer", | 148 }, |
| 169 "shouldFlattenTransform": false, | 149 { |
| 170 "children": [ | 150 "name": "LayoutBlockFlow (positioned) DIV class='composited box behind'", |
| 171 { | 151 "position": [100, 100], |
| 172 "name": "LayoutBlockFlow (positioned) DIV class='composited box be
hind'", | 152 "bounds": [100, 100], |
| 173 "position": [100, 100], | 153 "contentsOpaque": true, |
| 174 "bounds": [100, 100], | 154 "drawsContent": true, |
| 175 "contentsOpaque": true, | 155 "backgroundColor": "#0000FF" |
| 176 "drawsContent": true, | 156 }, |
| 177 "backgroundColor": "#0000FF" | 157 { |
| 178 }, | 158 "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positione
d) DIV class='box middle')", |
| 179 { | 159 "position": [180, 180], |
| 180 "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (p
ositioned) DIV class='box middle')", | 160 "bounds": [180, 180], |
| 181 "position": [180, 180], | 161 "drawsContent": true |
| 182 "bounds": [180, 180], | 162 }, |
| 183 "drawsContent": true | 163 { |
| 184 } | 164 "name": "LayoutBlockFlow (positioned) DIV class='box top'", |
| 185 ] | 165 "position": [340, 340], |
| 186 }, | 166 "bounds": [100, 100], |
| 187 { | 167 "contentsOpaque": true, |
| 188 "name": "LayoutBlockFlow (positioned) DIV class='box top'", | 168 "drawsContent": true, |
| 189 "position": [340, 340], | 169 "backgroundColor": "#008000" |
| 190 "bounds": [100, 100], | |
| 191 "contentsOpaque": true, | |
| 192 "drawsContent": true, | |
| 193 "backgroundColor": "#008000" | |
| 194 } | |
| 195 ] | |
| 196 } | 170 } |
| 197 ] | 171 ] |
| 198 } | 172 } |
| 199 Case 5: back to situation in case 1 | 173 Case 5: back to situation in case 1 |
| 200 { | 174 { |
| 201 "name": "Content Root Layer", | 175 "layers": [ |
| 202 "bounds": [800, 600], | 176 { |
| 203 "children": [ | 177 "name": "LayoutView #document", |
| 204 { | 178 "bounds": [800, 600], |
| 205 "name": "LayoutView #document", | 179 "contentsOpaque": true, |
| 206 "bounds": [800, 600], | 180 "drawsContent": true |
| 207 "contentsOpaque": true, | 181 }, |
| 208 "drawsContent": true, | 182 { |
| 209 "children": [ | 183 "name": "LayoutBlockFlow DIV class='composited'", |
| 210 { | 184 "position": [8, 8], |
| 211 "name": "LayoutBlockFlow DIV class='composited'", | 185 "bounds": [784, 0] |
| 212 "position": [8, 8], | 186 }, |
| 213 "bounds": [784, 0] | 187 { |
| 214 }, | 188 "name": "Squashing Containment Layer", |
| 215 { | 189 "shouldFlattenTransform": false |
| 216 "name": "Squashing Containment Layer", | 190 }, |
| 217 "shouldFlattenTransform": false, | 191 { |
| 218 "children": [ | 192 "name": "LayoutBlockFlow (positioned) DIV class='composited box behind'", |
| 219 { | 193 "position": [100, 100], |
| 220 "name": "LayoutBlockFlow (positioned) DIV class='composited box be
hind'", | 194 "bounds": [100, 100], |
| 221 "position": [100, 100], | 195 "contentsOpaque": true, |
| 222 "bounds": [100, 100], | 196 "drawsContent": true, |
| 223 "contentsOpaque": true, | 197 "backgroundColor": "#0000FF" |
| 224 "drawsContent": true, | 198 }, |
| 225 "backgroundColor": "#0000FF" | 199 { |
| 226 }, | 200 "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positione
d) DIV class='box middle')", |
| 227 { | 201 "position": [180, 180], |
| 228 "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (p
ositioned) DIV class='box middle')", | 202 "bounds": [260, 260], |
| 229 "position": [180, 180], | 203 "drawsContent": true |
| 230 "bounds": [260, 260], | 204 } |
| 231 "drawsContent": true | 205 ] |
| 232 } | 206 } |
| 233 ] | |
| 234 } | |
| 235 ] | |
| 236 } | |
| 237 ] | |
| 238 } | |
| 239 | 207 |
| OLD | NEW |