6 background-color: blue;
11 <script src="../http/tests/inspector/inspector-test.js"></script>
12 <script src="../http/tests/inspector/timeline-test.js"></script>
16 var element = document.getElementById("test");
17 element.style.display = "block";
18 var unused = element.clientWidth;
23 var tracingManager = new WebInspector.TracingManager();
24 var tracingModel = new WebInspector.TracingModel();
26 function runEventsSanityCheck()
29 var phaseComplete = 0;
34 tracingModel.sortedProcesses().forEach(function(process) {
36 process.sortedThreads().forEach(function(thread) {
38 events = events.concat(thread.events());
42 knownEvents["MessageLoop::PostTask"] = 0;
43 knownEvents["v8.callFunction"] = 0;
44 knownEvents["Document::updateRenderTree"] = 0;
45 knownEvents["FrameView::layout"] = 0;
47 for (var i = 0; i < events.length; ++i) {
48 var event = events[i];
49 if (event.phase === WebInspector.TracingModel.Phase.Complete)
51 if (event.name in knownEvents)
52 ++knownEvents[event.name];
54 InspectorTest.assertGreaterOrEqual(events.length, 100, "Too few trace events recorded");
55 InspectorTest.assertGreaterOrEqual(knownEvents["v8.callFunction"], 1, "Too few v8.callFunction");
56 InspectorTest.assertGreaterOrEqual(knownEvents["Document::updateRenderTree"], 1, "Too few Document::recalcStyle");
57 InspectorTest.assertGreaterOrEqual(knownEvents["FrameView::layout"], 1, "Too few FrameView::layout");
58 InspectorTest.assertGreaterOrEqual(phaseComplete, 50, "Too few begin events");
59 InspectorTest.assertGreaterOrEqual(processes, 2, "Too few processes");
60 InspectorTest.assertGreaterOrEqual(threads, 4, "Too few threads");
61 InspectorTest.addResult("Event sanity test done");
64 function onTracingComplete()
66 tracingManager.removeEventListener(WebInspector.TracingManager.Events.TracingComplete, onTracingComplete);
67 InspectorTest.addResult("Tracing complete");
68 runEventsSanityCheck();
69 InspectorTest.completeTest();
72 tracingManager.start("", "", onTracingStarted);
73 tracingManager.addEventListener(WebInspector.TracingManager.Events.EventsCollected, onEventsCollected);
75 function onTracingStarted(error)
77 InspectorTest.addResult("Tracing started (error: " + JSON.stringify(error) + ")");
79 InspectorTest.evaluateInPage("doWork()", function() {
80 tracingManager.addEventListener(WebInspector.TracingManager.Events.TracingComplete, onTracingComplete);
81 tracingManager.stop();
85 function onEventsCollected(event)
87 tracingModel.addEvents(event.data);
93 <body onload="runTest()">