Index: third_party/WebKit/Source/devtools/front_end/extensions/ExtensionServer.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionServer.js b/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionServer.js |
index 4ac4041899686f5836cd0a046706b430c48e9e9e..3bfefbd662a2b9d82cd3458c0533af8e810e8aab 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionServer.js |
+++ b/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionServer.js |
@@ -49,12 +49,15 @@ WebInspector.ExtensionServer = function() |
this._sidebarPanes = []; |
/** @type {!Array.<!WebInspector.ExtensionAuditCategory>} */ |
this._auditCategories = []; |
+ /** @type {!Array.<!WebInspector.ExtensionTraceProvider>} */ |
+ this._traceProviders = []; |
var commands = WebInspector.extensionAPI.Commands; |
this._registerHandler(commands.AddAuditCategory, this._onAddAuditCategory.bind(this)); |
this._registerHandler(commands.AddAuditResult, this._onAddAuditResult.bind(this)); |
this._registerHandler(commands.AddRequestHeaders, this._onAddRequestHeaders.bind(this)); |
+ this._registerHandler(commands.AddTraceProvider, this._onAddTraceProvider.bind(this)); |
this._registerHandler(commands.ApplyStyleSheet, this._onApplyStyleSheet.bind(this)); |
this._registerHandler(commands.CreatePanel, this._onCreatePanel.bind(this)); |
this._registerHandler(commands.CreateSidebarPane, this._onCreateSidebarPane.bind(this)); |
@@ -88,7 +91,7 @@ WebInspector.ExtensionServer = function() |
WebInspector.ExtensionServer.Events = { |
SidebarPaneAdded: "SidebarPaneAdded", |
- AuditCategoryAdded: "AuditCategoryAdded" |
+ AuditCategoryAdded: "AuditCategoryAdded", |
} |
WebInspector.ExtensionServer.prototype = { |
@@ -151,7 +154,6 @@ WebInspector.ExtensionServer.prototype = { |
this._postNotification(WebInspector.extensionAPI.Events.InspectedURLChanged, url); |
}, |
- |
/** |
* @param {string} categoryId |
* @param {!WebInspector.ExtensionAuditCategoryResults} auditResults |
@@ -171,6 +173,22 @@ WebInspector.ExtensionServer.prototype = { |
}, |
/** |
+ * @param {string} traceProviderId |
+ */ |
+ startTraceRecording: function(traceProviderId) |
+ { |
+ this._postNotification("trace-recording-started-" + traceProviderId); |
+ }, |
+ |
+ /** |
+ * @param {string} traceProviderId |
+ */ |
+ stopTraceRecording: function(traceProviderId) |
+ { |
+ this._postNotification("trace-recording-stopped-" + traceProviderId); |
+ }, |
+ |
+ /** |
* @param {string} type |
* @return {boolean} |
*/ |
@@ -594,6 +612,25 @@ WebInspector.ExtensionServer.prototype = { |
}, |
/** |
+ * @param {!Object} message |
+ * @param {!MessagePort} port |
+ */ |
+ _onAddTraceProvider: function(message, port) |
+ { |
+ var provider = new WebInspector.ExtensionTraceProvider(port._extensionOrigin, message.id, message.categoryName, message.categoryTooltip); |
+ this._clientObjects[message.id] = provider; |
+ this._traceProviders.push(provider); |
+ }, |
+ |
+ /** |
+ * @return {!Array<!WebInspector.ExtensionTraceProvider>} |
+ */ |
+ traceProviders: function() |
+ { |
+ return this._traceProviders; |
+ }, |
+ |
+ /** |
* @return {!Array.<!WebInspector.ExtensionAuditCategory>} |
*/ |
auditCategories: function() |