Chromium Code Reviews| 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..d2f1434167caa9b9ae335b7c85f449933610cdc8 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":"" }, |
|
alph
2016/12/14 00:17:32
put args in dquotes.
|
| + {"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()"> |