| Index: third_party/WebKit/LayoutTests/inspector/extensions/extensions-timeline-api.html
|
| diff --git a/third_party/WebKit/LayoutTests/inspector/extensions/extensions-timeline-api.html b/third_party/WebKit/LayoutTests/inspector/extensions/extensions-timeline-api.html
|
| index 1ed18900af5309b107333ca73411ffd3e217eb9f..c216f2ad83e14462190e1653b95cdd2ffc5cfbac 100644
|
| --- a/third_party/WebKit/LayoutTests/inspector/extensions/extensions-timeline-api.html
|
| +++ b/third_party/WebKit/LayoutTests/inspector/extensions/extensions-timeline-api.html
|
| @@ -5,33 +5,82 @@
|
| <script src="../../http/tests/inspector/timeline-test.js"></script>
|
|
|
| <script type="text/javascript">
|
| +function initialize_timelineExtensionTest()
|
| +{
|
| +
|
| +InspectorTest.enableTimelineExtensionAndStart = function(callback) {
|
| + const provider = Extensions.extensionServer.traceProviders().peekLast();
|
| + const timelinePanel = UI.panels.timeline;
|
| + const setting = Timeline.TimelinePanel._settingForTraceProvider(provider);
|
| + setting.set(true);
|
| + InspectorTest.addResult(`Provider short display name: ${provider.shortDisplayName()}`);
|
| + InspectorTest.addResult(`Provider long display name: ${provider.longDisplayName()}`);
|
| + InspectorTest.startTimeline(callback);
|
| +}
|
| +
|
| +}
|
| +
|
| function extension_testTimeline(nextTest)
|
| {
|
| - function onRecordingStarted()
|
| + var session;
|
| + var sessionTimeOffset;
|
| + var startTime;
|
| +
|
| + function onRecordingStarted(s)
|
| {
|
| + sessionTimeOffset = (Date.now() - performance.now()) * 1000;
|
| + startTime = performance.now();
|
| output("traceProvider.onRecordingStarted fired.");
|
| - }
|
| - function onRecordingStopped()
|
| - {
|
| + output("TracingSession:");
|
| + dumpObject(s);
|
| + session = s;
|
| + }
|
| +
|
| + function onRecordingStopped()
|
| + {
|
| output("traceProvider.onRecordingStopped fired.");
|
| - nextTest();
|
| +
|
| + const endTime = performance.now();
|
| + var pid = 1;
|
| + var tid = 1;
|
| + var step = (endTime - startTime) * 1000 / 10;
|
| + var start = startTime * 1000;
|
| + var data = { "traceEvents": [
|
| + {"name": "Extension record X 1", "ts": start, "dur": step * 4, "ph": "X", "args": {}, "tid": tid, "pid": pid, "cat":"" },
|
| + {"name": "Extension record X 2", "ts": start + step * 5, "dur": step * 5, "ph": "X", "args": {}, "tid": tid, "pid": pid, "cat":"" },
|
| + {"name": "Extension record I 1", "ts": start + step * 5.5, "ph": "I", "args": {}, "tid": tid, "pid": pid, "cat":"" },
|
| + {"name": "Extension record B+E", "ts": start + step * 6, "ph": "B", "args": {}, "tid": tid, "pid": pid, "cat":"" },
|
| + {"name": "Extension record B+E", "ts": start + step * 10, "ph": "E", "args": {}, "tid": tid, "pid": pid, "cat":"" }
|
| + ]};
|
| + var url = "data:application/json," + escape(JSON.stringify(data));
|
| + session.complete(url, sessionTimeOffset);
|
| }
|
| - var traceProvider = webInspector.timeline.addTraceProvider("extension trace provider", "tooltip");
|
| +
|
| + var traceProvider = webInspector.timeline.addTraceProvider("extension trace provider", "long extension name");
|
| + output("TraceProvider:");
|
| dumpObject(traceProvider);
|
| traceProvider.onRecordingStarted.addListener(onRecordingStarted);
|
| traceProvider.onRecordingStopped.addListener(onRecordingStopped);
|
| - extension_startTimeline(() => extension_stopTimeline(() => {}));
|
| + extension_startTimeline(
|
| + () => extension_stopTimeline(
|
| + () => extension_dumpFlameChart(nextTest)));
|
| }
|
|
|
| function extension_startTimeline(callback)
|
| {
|
| - evaluateOnFrontend("InspectorTest.startTimeline(reply);", callback);
|
| + evaluateOnFrontend("InspectorTest.enableTimelineExtensionAndStart(reply);", callback);
|
| }
|
|
|
| function extension_stopTimeline(callback)
|
| {
|
| evaluateOnFrontend("InspectorTest.stopTimeline(reply);", callback);
|
| }
|
| +
|
| +function extension_dumpFlameChart(callback)
|
| +{
|
| + evaluateOnFrontend("InspectorTest.dumpTimelineFlameChart(['long extension name']); reply()", callback);
|
| +}
|
| +
|
| </script>
|
| </head>
|
| <body onload="runTest()">
|
|
|