Chromium Code Reviews| Index: third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js |
| diff --git a/third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js b/third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js |
| index 63a911ee61f34234a7b5a5bea3198437b5bf6f0e..ad53fdb05c20fdb4f93dac216a8613c33191321c 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/timeline/TimelinePanel.js |
| @@ -67,6 +67,16 @@ WebInspector.TimelinePanel = function() |
| if (Runtime.experiments.isEnabled("cpuThrottling")) |
| this._cpuThrottlingManager = new WebInspector.CPUThrottlingManager(); |
| + // Create extension trace providers. |
| + this._traceProvidersById = {}; |
|
caseq
2016/06/21 07:29:51
We prefer using maps in the new code, i.e.
/**
|
| + this._captureExtensionSettings = {}; |
|
caseq
2016/06/21 07:29:51
ditto.
|
| + var extensionTraceProviders = WebInspector.extensionServer.traceProviders(); |
| + for (var i = 0; i < extensionTraceProviders.length; ++i) { |
| + var provider = extensionTraceProviders[i]; |
|
caseq
2016/06/21 07:29:51
nit: for (var provider of extensionTraceProviders)
|
| + this.addTraceProvider(provider); |
| + this._captureExtensionSettings[provider.id] = WebInspector.settings.createSetting(provider.categoryName, false); |
| + } |
| + |
| /** @type {!Array.<!WebInspector.TimelineModeView>} */ |
| this._currentViews = []; |
| @@ -162,6 +172,28 @@ WebInspector.TimelinePanel.headerHeight = 20; |
| WebInspector.TimelinePanel.prototype = { |
| /** |
| + * @return {!Object.<string, !WebInspector.ExtensionTraceProvider>} |
| + */ |
| + get traceProvidersById() |
|
caseq
2016/06/21 07:29:51
do you need to expose this? Also, we avoid getters
|
| + { |
| + return this._traceProvidersById; |
| + }, |
| + |
| + addTraceProvider: function(provider) |
| + { |
| + this._traceProvidersById[provider.id] = provider; |
| + }, |
| + |
| + /** |
| + * @param {string} id |
| + * @return {!WebInspector.ExtensionTraceProvider} |
| + */ |
| + getTraceProvider: function(id) |
|
caseq
2016/06/21 07:29:51
not sure you need to expose any of these (also: pl
|
| + { |
| + return this.traceProvidersById[id]; |
| + }, |
| + |
| + /** |
| * @override |
| * @return {?WebInspector.SearchableView} |
| */ |
| @@ -390,6 +422,11 @@ WebInspector.TimelinePanel.prototype = { |
| WebInspector.UIString("Memory"), this._captureMemorySetting, WebInspector.UIString("Capture memory information on every timeline event."))); |
| this._panelToolbar.appendToolbarItem(this._createSettingCheckbox( |
| WebInspector.UIString("Paint"), this._captureLayersAndPicturesSetting, WebInspector.UIString("Capture graphics layer positions and rasterization draw calls. (Has large performance overhead)"))); |
| + for (var s in this._captureExtensionSettings) { |
|
caseq
2016/06/21 07:29:51
I guess you also want to handle TraceProviderAdded
|
| + this._panelToolbar.appendToolbarItem(this._createSettingCheckbox( |
| + WebInspector.UIString(this._traceProvidersById[s].categoryName), this._captureExtensionSettings[s], WebInspector.UIString(this._traceProvidersById[s].categoryTooltip))); |
| + } |
| + |
| } else { |
| this._panelToolbar.appendToolbarItem(screenshotCheckbox); |
| } |