Test overlap is rendered correctly when hovering over elements Case 1, original layer tree: { "layers": [ { "name": "Scrolling background of LayoutView #document", "bounds": [800, 600], "contentsOpaque": true, "backgroundColor": "#FFFFFF" }, { "name": "LayoutNGBlockFlow (positioned) DIV class='composited box behind'", "bounds": [100, 100], "contentsOpaque": true, "backgroundColor": "#0000FF", "transform": 1 }, { "name": "LayoutNGBlockFlow (positioned) DIV class='box middle'", "position": [180, 180], "bounds": [140, 140], "backgroundColor": "#00FFFF" } ], "transforms": [ { "id": 1, "transform": [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [100, 100, 0, 1] ] } ] } Case 2: hovering over the "middle" element (causes that div to become its own composited layer) { "layers": [ { "name": "Scrolling background of LayoutView #document", "bounds": [800, 600], "contentsOpaque": true, "backgroundColor": "#FFFFFF" }, { "name": "LayoutNGBlockFlow (positioned) DIV class='composited box behind'", "bounds": [100, 100], "contentsOpaque": true, "backgroundColor": "#0000FF", "transform": 1 }, { "name": "LayoutNGBlockFlow (positioned) DIV class='box middle'", "bounds": [100, 100], "contentsOpaque": true, "backgroundColor": "#008000", "transform": 2 }, { "name": "LayoutNGBlockFlow (positioned) DIV class='box middle2'", "position": [200, 200], "bounds": [120, 120], "backgroundColor": "#00FFFF" } ], "transforms": [ { "id": 1, "transform": [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [100, 100, 0, 1] ] }, { "id": 2, "transform": [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [180, 180, 0, 1] ] } ] } Case 3: hovering over the "middle2" element (causes that div to become its own composited layer) { "layers": [ { "name": "Scrolling background of LayoutView #document", "bounds": [800, 600], "contentsOpaque": true, "backgroundColor": "#FFFFFF" }, { "name": "LayoutNGBlockFlow (positioned) DIV class='composited box behind'", "bounds": [100, 100], "contentsOpaque": true, "backgroundColor": "#0000FF", "transform": 1 }, { "name": "LayoutNGBlockFlow (positioned) DIV class='box middle'", "position": [180, 180], "bounds": [100, 100], "contentsOpaque": true, "backgroundColor": "#00FF00" }, { "name": "LayoutNGBlockFlow (positioned) DIV class='box middle2'", "bounds": [100, 100], "contentsOpaque": true, "backgroundColor": "#008000", "transform": 2 }, { "name": "LayoutNGBlockFlow (positioned) DIV class='box top'", "position": [220, 220], "bounds": [100, 100], "contentsOpaque": true, "backgroundColor": "#00FFFF" } ], "transforms": [ { "id": 1, "transform": [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [100, 100, 0, 1] ] }, { "id": 2, "transform": [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [200, 200, 0, 1] ] } ] } Case 4: hovering over the "top" element (causes that div to become its own composited layer) { "layers": [ { "name": "Scrolling background of LayoutView #document", "bounds": [800, 600], "contentsOpaque": true, "backgroundColor": "#FFFFFF" }, { "name": "LayoutNGBlockFlow (positioned) DIV class='composited box behind'", "bounds": [100, 100], "contentsOpaque": true, "backgroundColor": "#0000FF", "transform": 1 }, { "name": "LayoutNGBlockFlow (positioned) DIV class='box middle'", "position": [180, 180], "bounds": [120, 120], "backgroundColor": "#FF00FF" }, { "name": "LayoutNGBlockFlow (positioned) DIV class='box top'", "bounds": [100, 100], "contentsOpaque": true, "backgroundColor": "#008000", "transform": 2 } ], "transforms": [ { "id": 1, "transform": [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [100, 100, 0, 1] ] }, { "id": 2, "transform": [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [220, 220, 0, 1] ] } ] } Case 5: back to situation in case 1 { "layers": [ { "name": "Scrolling background of LayoutView #document", "bounds": [800, 600], "contentsOpaque": true, "backgroundColor": "#FFFFFF" }, { "name": "LayoutNGBlockFlow (positioned) DIV class='composited box behind'", "bounds": [100, 100], "contentsOpaque": true, "backgroundColor": "#0000FF", "transform": 1 }, { "name": "LayoutNGBlockFlow (positioned) DIV class='box middle'", "position": [180, 180], "bounds": [140, 140], "backgroundColor": "#00FFFF" } ], "transforms": [ { "id": 1, "transform": [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [100, 100, 0, 1] ] } ] }