Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(392)

Side by Side Diff: third_party/WebKit/LayoutTests/inspector/extensions/extensions-timeline-api.html

Issue 2563383003: DevTools: add extension API to contribute trace events to timeline (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698