3 <script src="../../../http/tests/inspector/inspector-test.js"></script>
4 <script src="../../../http/tests/inspector/timeline-test.js"></script>
5 <script src="../../tracing-test.js"></script>
8 function startWorkerAndRunTest()
10 var worker1 = new Worker("resources/worker.js");
11 worker1.postMessage("");
13 if (window.testRunner) {
14 testRunner.dumpAsText();
15 testRunner.waitUntilDone();
18 worker1.onmessage = function(event)
20 worker1.onmessage = null;
25 function startSecondWorker(onActionComplete)
27 var worker2 = new Worker("resources/worker.js");
28 worker2.postMessage("");
29 worker2.onmessage = function(event)
32 worker2.onmessage = null;
38 InspectorTest.invokeWithTracing("startSecondWorker", processTracingEvents);
40 var workerMetadataEventCount = 0;
41 function processTracingEvents()
43 InspectorTest.tracingModel.sortedProcesses().forEach(function(process) {
44 process.sortedThreads().forEach(function(thread) {
45 thread.events().forEach(processEvent);
48 InspectorTest.assertEquals(2, workerMetadataEventCount);
49 InspectorTest.completeTest();
52 function processEvent(event)
54 if (event.category !== WebInspector.TracingModel.DevToolsMetadataEventCategory || event.name !== WebInspector.TracingModel.DevToolsMetadataEvent.TracingStartedInWorker)
57 ++workerMetadataEventCount;
58 InspectorTest.assertEquals(InspectorTest.tracingModel.sessionId(), event.args["sessionId"]);
59 InspectorTest.addResult("Got DevTools worker metadata event(" + workerMetadataEventCount + "): " + event.name);
67 <body onload="startWorkerAndRunTest()">
69 Tests that worker events are recorded with proper devtools metadata events.