3 <script src="../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../http/tests/inspector/timeline-test.js"></script>
5 <script src="../../http/tests/inspector/layers-test.js"></script>
10 -webkit-transform: translateZ(10px);
17 var element = document.createElement("div");
18 element.className = "layer";
19 document.body.appendChild(element);
22 function pageStep0(doneCallback)
24 requestAnimationFrame(pageStep1.bind(this, doneCallback));
27 function pageStep1(doneCallback)
30 requestAnimationFrame(pageStep2.bind(this, doneCallback));
33 function pageStep2(doneCallback)
36 requestAnimationFrame(doneCallback);
41 InspectorTest.invokeAsyncWithTimeline("pageStep0", onTimelineStopped);
43 function onTimelineStopped()
45 InspectorTest.layerTreeModel.addEventListener(WebInspector.LayerTreeModel.Events.LayerTreeChanged, onLayerTreeChanged);
46 InspectorTest.printTimelineRecords(null, loadSnapshot);
49 var pendingEventCount = 0;
50 function loadSnapshot(record)
52 if (record.type !== WebInspector.TimelineModel.RecordType.UpdateLayerTree)
54 // Some updates may not produce new layer tree snapshot
55 if (!record.data["layerTree"])
58 InspectorTest.layerTreeModel.setSnapshot(new WebInspector.LayerTreeSnapshot(record.data["layerTree"]));
61 function onLayerTreeChanged()
63 InspectorTest.addResult("Layer tree dump:");
64 InspectorTest.dumpLayerTree();
65 if (--pendingEventCount)
67 InspectorTest.layerTreeModel.removeEventListener(WebInspector.LayerTreeModel.Events.LayerTreeChanged, onLayerTreeChanged);
68 InspectorTest.completeTest();
75 <body onload="runTest()">
77 Tests the Timeline API instrumentation of a Layout event