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 d60f70ddcd4696faa42a030b48694482f1da1719..1fd6c4f9d448585b1c230a469e5bd69f8d89160e 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionAPI.js |
+++ b/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionAPI.js |
@@ -56,6 +56,8 @@ function defineCommonExtensionSymbols(apiPrivate) |
NetworkRequestFinished: "network-request-finished", |
OpenResource: "open-resource", |
PanelSearch: "panel-search-", |
+ RecordingStarted: "trace-recording-started-", |
+ RecordingStopped: "trace-recording-stopped-", |
ResourceAdded: "resource-added", |
ResourceContentCommitted: "resource-content-committed", |
ViewShown: "view-shown-", |
@@ -66,6 +68,7 @@ function defineCommonExtensionSymbols(apiPrivate) |
AddAuditCategory: "addAuditCategory", |
AddAuditResult: "addAuditResult", |
AddRequestHeaders: "addRequestHeaders", |
+ AddTraceProvider: "addTraceProvider", |
ApplyStyleSheet: "applyStyleSheet", |
CreatePanel: "createPanel", |
CreateSidebarPane: "createSidebarPane", |
@@ -178,6 +181,7 @@ function InspectorExtensionAPI() |
this.inspectedWindow = new InspectedWindow(); |
this.panels = new Panels(); |
this.network = new Network(); |
+ this.timeline = new Timeline(); |
defineDeprecatedProperty(this, "webInspector", "resources", "network"); |
} |
@@ -544,6 +548,36 @@ 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.onRecordingStarted = new EventSink(events.RecordingStarted + id); |
+ this.onRecordingStopped = new EventSink(events.RecordingStopped + id); |
+} |
+ |
+/** |
+ * @constructor |
+ */ |
function Audits() |
{ |
} |