Chromium Code Reviews| 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/extensions-test.js"></script> | 4 <script src="../../http/tests/inspector/extensions-test.js"></script> |
| 5 <script src="../../http/tests/inspector/timeline-test.js"></script> | 5 <script src="../../http/tests/inspector/timeline-test.js"></script> |
| 6 | 6 |
| 7 <script type="text/javascript"> | 7 <script type="text/javascript"> |
| 8 function initialize_timelineExtensionTest() | |
| 9 { | |
| 10 | |
| 11 InspectorTest.enableTimelineExtensionAndStart = function(callback) { | |
| 12 const provider = Extensions.extensionServer.traceProviders().peekLast(); | |
| 13 const timelinePanel = UI.panels.timeline; | |
| 14 const setting = Timeline.TimelinePanel._settingForTraceProvider(provider); | |
| 15 setting.set(true); | |
| 16 InspectorTest.addResult(`Provider short display name: ${provider.shortDispla yName()}`); | |
| 17 InspectorTest.addResult(`Provider long display name: ${provider.longDisplayN ame()}`); | |
| 18 InspectorTest.startTimeline(callback); | |
| 19 } | |
| 20 | |
| 21 } | |
| 22 | |
| 8 function extension_testTimeline(nextTest) | 23 function extension_testTimeline(nextTest) |
| 9 { | 24 { |
| 10 function onRecordingStarted() | 25 var session; |
| 26 var sessionTimeOffset; | |
| 27 var startTime; | |
| 28 | |
| 29 function onRecordingStarted(s) | |
| 11 { | 30 { |
| 31 sessionTimeOffset = (Date.now() - performance.now()) * 1000; | |
| 32 startTime = performance.now(); | |
| 12 output("traceProvider.onRecordingStarted fired."); | 33 output("traceProvider.onRecordingStarted fired."); |
| 34 output("TracingSession:"); | |
| 35 dumpObject(s); | |
| 36 session = s; | |
| 37 } | |
| 38 | |
| 39 function onRecordingStopped() | |
| 40 { | |
| 41 output("traceProvider.onRecordingStopped fired."); | |
| 42 | |
| 43 const endTime = performance.now(); | |
| 44 var pid = 1; | |
| 45 var tid = 1; | |
| 46 var data = { "traceEvents": [ | |
| 47 {"name": "Extension record 1", "ts": startTime * 1000, "dur": (endTi me - startTime) * 1000, "ph": "X", args: {}, "tid": tid, "pid": pid, "cat":"" } | |
| 48 ]}; | |
| 49 var url = "data:application/json," + escape(JSON.stringify(data)); | |
| 50 session.complete(url, sessionTimeOffset); | |
| 13 } | 51 } |
| 14 function onRecordingStopped() | 52 |
| 15 { | 53 var traceProvider = webInspector.timeline.addTraceProvider("extension trace provider", "long extension name"); |
| 16 output("traceProvider.onRecordingStopped fired."); | 54 output("TraceProvider:"); |
| 17 nextTest(); | |
| 18 } | |
| 19 var traceProvider = webInspector.timeline.addTraceProvider("extension trace provider", "tooltip"); | |
| 20 dumpObject(traceProvider); | 55 dumpObject(traceProvider); |
| 21 traceProvider.onRecordingStarted.addListener(onRecordingStarted); | 56 traceProvider.onRecordingStarted.addListener(onRecordingStarted); |
| 22 traceProvider.onRecordingStopped.addListener(onRecordingStopped); | 57 traceProvider.onRecordingStopped.addListener(onRecordingStopped); |
| 23 extension_startTimeline(() => extension_stopTimeline(() => {})); | 58 extension_startTimeline(() => extension_stopTimeline(() => { onTimelineReady (); })); |
|
alph
2016/12/13 20:16:48
If you inline the last one, it'd look cool! ;-)
al
| |
| 59 | |
| 60 function onTimelineReady() | |
| 61 { | |
| 62 extension_dumpFlameChart(() => { nextTest(); }); | |
| 63 } | |
| 24 } | 64 } |
| 25 | 65 |
| 26 function extension_startTimeline(callback) | 66 function extension_startTimeline(callback) |
| 27 { | 67 { |
| 28 evaluateOnFrontend("InspectorTest.startTimeline(reply);", callback); | 68 evaluateOnFrontend("InspectorTest.enableTimelineExtensionAndStart(reply);", callback); |
| 29 } | 69 } |
| 30 | 70 |
| 31 function extension_stopTimeline(callback) | 71 function extension_stopTimeline(callback) |
| 32 { | 72 { |
| 33 evaluateOnFrontend("InspectorTest.stopTimeline(reply);", callback); | 73 evaluateOnFrontend("InspectorTest.stopTimeline(reply);", callback); |
| 34 } | 74 } |
| 75 | |
| 76 function extension_dumpFlameChart(callback) | |
| 77 { | |
| 78 evaluateOnFrontend("InspectorTest.dumpTimelineFlameChart(['long extension na me']); reply()", callback); | |
| 79 } | |
| 80 | |
| 35 </script> | 81 </script> |
| 36 </head> | 82 </head> |
| 37 <body onload="runTest()"> | 83 <body onload="runTest()"> |
| 38 <p>Tests timeline support in WebInspector Extensions API</p> | 84 <p>Tests timeline support in WebInspector Extensions API</p> |
| 39 <span id="test-element"><b></b></span> | 85 <span id="test-element"><b></b></span> |
| 40 </body> | 86 </body> |
| 41 </html> | 87 </html> |
| OLD | NEW |