OLD | NEW |
---|---|
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <script src="../../http/tests/inspector/inspector-test.js"></script> | 3 <script src="../../http/tests/inspector/inspector-test.js"></script> |
4 <script src="../../http/tests/inspector/timeline-test.js"></script> | 4 <script src="../../http/tests/inspector/timeline-test.js"></script> |
5 <script src="../tracing-test.js"></script> | 5 <script src="../tracing-test.js"></script> |
6 <script> | 6 <script> |
7 | 7 |
8 // Save references to the worker objects to make sure they are not GC'ed. | 8 // Save references to the worker objects to make sure they are not GC'ed. |
9 var worker1; | 9 var worker1; |
10 var worker2; | 10 var worker2; |
(...skipping 10 matching lines...) Expand all Loading... | |
21 | 21 |
22 worker1.onmessage = function(event) | 22 worker1.onmessage = function(event) |
23 { | 23 { |
24 worker1.onmessage = null; | 24 worker1.onmessage = null; |
25 runTest(); | 25 runTest(); |
26 } | 26 } |
27 } | 27 } |
28 | 28 |
29 function startSecondWorker(onActionComplete) | 29 function startSecondWorker(onActionComplete) |
30 { | 30 { |
31 // FIXME: add a payload to the worker to make it produce a JSFrame. | |
31 worker2 = new Worker("resources/worker.js"); | 32 worker2 = new Worker("resources/worker.js"); |
32 worker2.postMessage(""); | 33 worker2.postMessage(""); |
33 worker2.onmessage = function(event) | 34 worker2.onmessage = function(event) |
34 { | 35 { |
35 onActionComplete(); | 36 onActionComplete(); |
36 worker2.onmessage = null; | 37 worker2.onmessage = null; |
37 } | 38 } |
38 } | 39 } |
39 | 40 |
40 function test() | 41 function test() |
41 { | 42 { |
42 InspectorTest.invokeWithTracing("startSecondWorker", processTracingEvents); | 43 InspectorTest.invokeWithTracing("startSecondWorker", processTracingEvents, |
44 "disabled-by-default-devtools.timeline.stack,disabled-by-default-devtool s.js.profile"); | |
43 | 45 |
44 var workerMetadataEventCount = 0; | 46 var seenFunctions = new Set(); |
45 function processTracingEvents() | 47 function processTracingEvents() |
46 { | 48 { |
47 InspectorTest.tracingModel().sortedProcesses().forEach(function(process) { | 49 InspectorTest.addResult("Main thread"); |
48 process.sortedThreads().forEach(function(thread) { | 50 InspectorTest.tracingTimelineModel()._mainThreadEvents.forEach(processEv ent); |
49 thread.events().forEach(processEvent); | 51 var threads = InspectorTest.tracingTimelineModel()._virtualThreads; |
50 }); | 52 for (var i = 0; i < threads.length; ++i) { |
51 }); | 53 InspectorTest.addResult(threads[i].name); |
52 InspectorTest.assertEquals(2, workerMetadataEventCount); | 54 threads[i].events.forEach(processEvent); |
55 } | |
56 InspectorTest.assertTrue(seenFunctions.has("startSecondWorker")); | |
57 InspectorTest.assertTrue(seenFunctions.has("worker2.onmessage")); | |
53 InspectorTest.completeTest(); | 58 InspectorTest.completeTest(); |
54 } | 59 } |
55 | 60 |
56 function processEvent(event) | 61 function processEvent(event) |
57 { | 62 { |
58 if (event.category !== WebInspector.TracingModel.DevToolsMetadataEventCa tegory || event.name !== WebInspector.TracingModel.DevToolsMetadataEvent.Tracing SessionIdForWorker) | 63 if (event.name !== WebInspector.TimelineModel.RecordType.JSFrame) |
59 return; | 64 return; |
60 | 65 seenFunctions.add(event.args.data.functionName); |
61 ++workerMetadataEventCount; | |
62 InspectorTest.assertEquals(InspectorTest.tracingModel().sessionId(), eve nt.args["data"]["sessionId"]); | |
63 InspectorTest.addResult("Got DevTools worker metadata event(" + workerMe tadataEventCount + "): " + event.name); | |
64 } | 66 } |
65 | |
66 } | 67 } |
67 | 68 |
68 </script> | 69 </script> |
69 </head> | 70 </head> |
70 | 71 |
71 <body onload="startWorkerAndRunTest()"> | 72 <body onload="startWorkerAndRunTest()"> |
72 <p> | 73 <p> |
73 Tests that worker events are recorded with proper devtools metadata events. | 74 Tests js cpu profile in timeline. |
yurys
2014/11/14 13:25:26
... for worker?
alph
2014/11/14 15:01:59
for worker after FIXME is addressed.
| |
74 </p> | 75 </p> |
75 </body> | 76 </body> |
76 </html> | 77 </html> |
OLD | NEW |