3 <script src="../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../http/tests/inspector/layers-test.js"></script>
5 <script src="../tracing-test.js"></script>
8 function doActions(callback)
10 var div = document.createElement("div");
12 document.getElementById("a").appendChild(div);
14 // Make sure to force commit, otherwise some owner nodes will be missing.
15 var style = document.createElement("style");
16 style.textContent = ".layer { -webkit-transform: translateZ(10px); opacity: 0.8; }";
17 document.head.appendChild(style);
19 if (!window.testRunner) {
23 testRunner.displayAsyncThen(callback);
28 InspectorTest.invokeWithTracing(WebInspector.TracingTimelineModel.defaultTracingCategoryFilter, "doActions", onTracingComplete);
30 var target = /** @type {!WebInspector.Target} */ (WebInspector.targetManager.activeTarget());
31 var layerTree = new WebInspector.TracingLayerTree(target);
33 function onTracingComplete()
35 var events = InspectorTest.tracingTimelineModel.inspectedTargetEvents();
36 for (var i = events.length - 1; i >= 0; --i) {
37 if (events[i].phase === WebInspector.TracingModel.Phase.SnapshotObject && events[i].name === "cc::LayerTreeHostImpl") {
38 var rootLayer = events[i].args["snapshot"]["active_tree"]["root_layer"];
39 dumpLayerTreeSnapshot(rootLayer);
43 InspectorTest.addResult("FAIL: cc::LayerTreeHostImpl snapshot not found");
44 InspectorTest.completeTest();
47 function dumpLayerTreeSnapshot(rootLayer)
49 layerTree.setLayers(rootLayer, onLayersSet);
52 function onLayersSet()
54 InspectorTest.layerTreeModel.setLayerTree(layerTree);
55 InspectorTest.dumpLayerTree();
56 InspectorTest.completeTest();
61 <body onload="runTestAfterDisplay()">
62 Tests that LayerTreeModel successfully imports layers from a trace.
64 <div id="a" style="width: 200px; height: 200px" class="layer">
65 <div class="layer" id="b1" style="width: 150px; height: 100px"></div>
66 <div id="b2" class="layer" style="width: 140px; height: 110px">
67 <div id="c" class="layer" style="width: 100px; height: 90px"></div>
69 <div id="b3" class="layer" style="width: 140px; height: 110px"></div>