| 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..9a6d62a741068a2bf566b70b46f77f7db580d139 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionServer.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/extensions/ExtensionServer.js
|
| @@ -49,11 +49,16 @@ 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.AddTraceProvider, this._onAddTraceProvider.bind(this));
|
| + this._registerHandler(commands.AddTraceData, this._onAddTraceData.bind(this));
|
| this._registerHandler(commands.AddRequestHeaders, this._onAddRequestHeaders.bind(this));
|
| this._registerHandler(commands.ApplyStyleSheet, this._onApplyStyleSheet.bind(this));
|
| this._registerHandler(commands.CreatePanel, this._onCreatePanel.bind(this));
|
| @@ -87,7 +92,8 @@ WebInspector.ExtensionServer = function()
|
|
|
| WebInspector.ExtensionServer.Events = {
|
| SidebarPaneAdded: "SidebarPaneAdded",
|
| - AuditCategoryAdded: "AuditCategoryAdded"
|
| + AuditCategoryAdded: "AuditCategoryAdded",
|
| + TraceProviderAdded: "TraceProviderAdded"
|
| }
|
|
|
| WebInspector.ExtensionServer.prototype = {
|
| @@ -170,6 +176,23 @@ WebInspector.ExtensionServer.prototype = {
|
| },
|
|
|
| /**
|
| + * @param {string} traceProviderId
|
| + */
|
| + startTraceRecording: function(traceProviderId)
|
| + {
|
| + this._postNotification("trace-recording-started-" + traceProviderId);
|
| + },
|
| +
|
| + /**
|
| + * @param {string} traceProviderId
|
| + * @param {!WebInspector.ExtensionTraceData} traceData
|
| + */
|
| + stopTraceRecording: function(traceProviderId, traceData)
|
| + {
|
| + this._postNotification("trace-recording-stopped-" + traceProviderId, traceData.id());
|
| + },
|
| +
|
| + /**
|
| * @param {string} type
|
| * @return {boolean}
|
| */
|
| @@ -582,6 +605,22 @@ 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, provider);
|
| + },
|
| +
|
| + /**
|
| + * @return {!Array.<!WebInspector.ExtensionTraceProvider>}
|
| + */
|
| + traceProviders: function()
|
| + {
|
| + return this._traceProviders;
|
| + },
|
| +
|
| /**
|
| * @return {!Array.<!WebInspector.ExtensionAuditCategory>}
|
| */
|
| @@ -603,6 +642,20 @@ WebInspector.ExtensionServer.prototype = {
|
| return this._status.OK();
|
| },
|
|
|
| + _onAddTraceData: function(message)
|
| + {
|
| + var traceProvider = /** {!WebInspector.ExtensionTraceProvider} */ (this._clientObjects[message.traceProviderId]);
|
| + if (!traceProvider)
|
| + return this._status.E_NOTFOUND(message.traceProviderId);
|
| + var traceData = traceProvider.traceData;
|
| + try {
|
| + traceData.addTraceData(message.threadName, message.events);
|
| + } catch (e) {
|
| + return e;
|
| + }
|
| + return this._status.OK();
|
| + },
|
| +
|
| _onUpdateAuditProgress: function(message)
|
| {
|
| var auditResult = /** {!WebInspector.ExtensionAuditCategoryResults} */ (this._clientObjects[message.resultId]);
|
|
|