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 92fde8b013f621b9097e0b0288aa7a474221b7f4..a1dd6cbcb8dab5a6a06d9dd0777c9bbfbd8a6825 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionServer.js |
+++ b/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionServer.js |
@@ -49,10 +49,14 @@ 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.AddTraceProvider, this._onAddTraceProvider.bind(this)); |
this._registerHandler(commands.AddAuditResult, this._onAddAuditResult.bind(this)); |
this._registerHandler(commands.AddRequestHeaders, this._onAddRequestHeaders.bind(this)); |
this._registerHandler(commands.ApplyStyleSheet, this._onApplyStyleSheet.bind(this)); |
@@ -87,7 +91,8 @@ WebInspector.ExtensionServer = function() |
WebInspector.ExtensionServer.Events = { |
SidebarPaneAdded: "SidebarPaneAdded", |
- AuditCategoryAdded: "AuditCategoryAdded" |
+ AuditCategoryAdded: "AuditCategoryAdded", |
+ TraceProviderAdded: "TraceProviderAdded" |
} |
WebInspector.ExtensionServer.prototype = { |
@@ -170,6 +175,14 @@ WebInspector.ExtensionServer.prototype = { |
}, |
/** |
+ * @param {string} traceProviderId |
+ */ |
+ startTraceProviderRun: function(traceProviderId) |
caseq
2016/06/21 07:29:51
nit: startTraceRecording
|
+ { |
+ this._postNotification("recording-started-" + traceProviderId); |
+ }, |
+ |
+ /** |
* @param {string} type |
* @return {boolean} |
*/ |
@@ -582,6 +595,24 @@ WebInspector.ExtensionServer.prototype = { |
this.dispatchEventToListeners(WebInspector.ExtensionServer.Events.AuditCategoryAdded, category); |
}, |
+ _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); |
+ this.dispatchEventToListeners(WebInspector.ExtensionServer.Events.TraceProviderAdded, message); |
caseq
2016/06/21 07:29:51
let's not leak extension messages outside of Exten
|
+ }, |
+ |
+ /** |
+ * @return {!Array.<!WebInspector.ExtensionTraceProvider>} |
+ */ |
+ traceProviders: function() |
+ { |
+ return this._traceProviders; |
+ }, |
+ |
+ |
caseq
2016/06/21 07:29:51
nit: nuke extra empty lines
|
+ |
/** |
* @return {!Array.<!WebInspector.ExtensionAuditCategory>} |
*/ |