6 background-color: blue;
11 <script src="../http/tests/inspector/inspector-test.js"></script>
15 document.getElementById("test").style.display = "block";
21 function runEventsSanityCheck(events)
23 var phaseComplete = 0;
28 knownEvents["MessageLoop::PostTask"] = 0;
29 knownEvents["v8.callFunction"] = 0;
30 knownEvents["Document::recalcStyle"] = 0;
31 knownEvents["FrameView::layout"] = 0;
33 for (var i = 0; i < events.length; ++i) {
34 var event = events[i];
37 if (event.name in knownEvents)
38 ++knownEvents[event.name];
39 processes[event.pid] = (processes[event.pid] || 0) + 1;
40 threads[event.tid] = (threads[event.tid] || 0) + 1;
42 InspectorTest.assertGreaterOrEqual(events.length, 100, "Too few trace events recorded");
43 InspectorTest.assertGreaterOrEqual(knownEvents["v8.callFunction"], 10, "Too few v8.callFunction");
44 InspectorTest.assertGreaterOrEqual(knownEvents["Document::recalcStyle"], 1, "Too few Document::recalcStyle");
45 InspectorTest.assertGreaterOrEqual(knownEvents["FrameView::layout"], 1, "Too few FrameView::layout");
46 InspectorTest.assertGreaterOrEqual(phaseComplete, 50, "Too few begin events");
47 InspectorTest.assertGreaterOrEqual(Object.keys(processes).length, 2, "Too few processes");
48 InspectorTest.assertGreaterOrEqual(Object.keys(threads).length, 4, "Too few threads");
49 InspectorTest.addResult("Event sanity test done");
52 function onTracingComplete()
54 InspectorTest.addResult("Tracing complete");
55 runEventsSanityCheck(WebInspector.tracingAgent.events());
56 InspectorTest.completeTest();
59 WebInspector.tracingAgent.start("", "", onTracingStarted);
60 setTimeout(InspectorTest.completeTest.bind(InspectorTest), 2000);
61 function onTracingStarted(error)
63 InspectorTest.addResult("Tracing started (error: " + JSON.stringify(error) + ")");
64 InspectorTest.evaluateInPage("doWork()", function() {
65 WebInspector.tracingAgent.stop(onTracingComplete);
72 <body onload="runTest()">