Chromium Code Reviews| 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>} |
| */ |