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 top'", "position": [130, 130], "bounds": [100, 100], "contentsOpaque": true, "backgroundColor": "#00FFFF" } ], "transforms": [ { "id": 1, "transform": [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [50, 50, 0, 1] ] } ] } CASE 2, change color of "inner" to red { "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 top'", "position": [130, 130], "bounds": [100, 100], "contentsOpaque": true, "backgroundColor": "#00FFFF", "invalidations": [ [10, 10, 50, 50] ] } ], "transforms": [ { "id": 1, "transform": [ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [50, 50, 0, 1] ] } ] }