Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/extensions/ExtensionAPI.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionAPI.js b/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionAPI.js |
| index 7a9b305fbc76abcc0829e3ba5893acbb4068899f..07209785158c88f55940ea41399a07a0e540ac97 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionAPI.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionAPI.js |
| @@ -51,6 +51,7 @@ function defineCommonExtensionSymbols(apiPrivate) |
| apiPrivate.Events = { |
| AuditStarted: "audit-started-", |
| + RecordingStarted: "recording-started-", |
|
caseq
2016/06/21 07:29:51
nit: "trace-recording-started-"
|
| ButtonClicked: "button-clicked-", |
| PanelObjectSelected: "panel-objectSelected-", |
| NetworkRequestFinished: "network-request-finished", |
| @@ -66,6 +67,7 @@ function defineCommonExtensionSymbols(apiPrivate) |
| AddAuditCategory: "addAuditCategory", |
| AddAuditResult: "addAuditResult", |
| AddRequestHeaders: "addRequestHeaders", |
| + AddTraceProvider: "addTraceProvider", |
| ApplyStyleSheet: "applyStyleSheet", |
| CreatePanel: "createPanel", |
| CreateSidebarPane: "createSidebarPane", |
| @@ -174,6 +176,7 @@ EventSinkImpl.prototype = { |
| function InspectorExtensionAPI() |
| { |
| this.audits = new Audits(); |
| + this.timeline = new Timeline(); |
| this.inspectedWindow = new InspectedWindow(); |
| this.panels = new Panels(); |
| this.network = new Network(); |
| @@ -553,6 +556,43 @@ ButtonImpl.prototype = { |
| /** |
| * @constructor |
| */ |
| +function Timeline() |
| +{ |
| +} |
| + |
| +Timeline.prototype = { |
| + /** |
| + * @param {string} categoryName |
| + * @param {string} categoryTooltip |
| + * @return {!TraceProvider} |
| + */ |
| + addTraceProvider: function(categoryName, categoryTooltip) |
| + { |
| + var id = "extension-timeline-category-" + extensionServer.nextObjectId(); |
| + extensionServer.sendRequest({ command: commands.AddTraceProvider, id: id, categoryName: categoryName, categoryTooltip: categoryTooltip}); |
| + return new TraceProvider(id); |
| + } |
| +} |
| + |
| +/** |
| + * @constructor |
| + */ |
| +function TraceProvider(id) |
| +{ |
| + /** |
| + * @this {EventSinkImpl} |
| + */ |
| + function dispatchRecordingEvent(request) |
|
caseq
2016/06/21 07:29:51
Looks like you don't need the custom dispatch call
|
| + { |
| + this._fire(); |
| + } |
| + this._id = id; |
|
caseq
2016/06/21 07:29:51
do you need this?
|
| + this.onRecordingStarted = new EventSink(events.RecordingStarted + id, dispatchRecordingEvent); |
| +} |
| + |
| +/** |
| + * @constructor |
| + */ |
| function Audits() |
| { |
| } |