Chromium Code Reviews| Index: Source/devtools/front_end/TimelinePanel.js |
| diff --git a/Source/devtools/front_end/TimelinePanel.js b/Source/devtools/front_end/TimelinePanel.js |
| index 073dfa333cd76a7d94cf1dadebd8eb69f40c8d39..e984a0e39b5342e59e553652a3f008a2d174ae20 100644 |
| --- a/Source/devtools/front_end/TimelinePanel.js |
| +++ b/Source/devtools/front_end/TimelinePanel.js |
| @@ -39,6 +39,7 @@ importScript("TimelineFrameModel.js"); |
| importScript("TimelineEventOverview.js"); |
| importScript("TimelineFrameOverview.js"); |
| importScript("TimelineMemoryOverview.js"); |
| +importScript("TimelinePowerOverview.js"); |
| importScript("TimelineFlameChart.js"); |
| importScript("TimelineUIUtils.js"); |
| importScript("TimelineView.js"); |
| @@ -130,7 +131,8 @@ WebInspector.TimelinePanel.Mode = { |
| Events: "Events", |
| Frames: "Frames", |
| Memory: "Memory", |
| - FlameChart: "FlameChart" |
| + FlameChart: "FlameChart", |
| + Power: "Power" |
| }; |
| // Define row and header height, should be in sync with styles for timeline graphs. |
| @@ -269,6 +271,10 @@ WebInspector.TimelinePanel.prototype = { |
| views.overviewView = new WebInspector.TimelineFrameOverview(this._model, this._frameModel()); |
| views.mainViews = [new WebInspector.TimelineFlameChart(this, this._model, this._frameModel())]; |
| break; |
| + case WebInspector.TimelinePanel.Mode.Power: |
| + views.overviewView = new WebInspector.TimelinePowerOverview(this._model); |
| + views.mainViews = [this._timelineView()]; |
| + break; |
| default: |
| console.assert(false, "Unknown mode: " + mode); |
| } |
| @@ -290,8 +296,10 @@ WebInspector.TimelinePanel.prototype = { |
| var topPaneSidebarTree = new TreeOutline(overviewTreeElement); |
| this._overviewItems = {}; |
| + |
| for (var mode in WebInspector.TimelinePanel.Mode) { |
| - if (mode === WebInspector.TimelinePanel.Mode.FlameChart && !WebInspector.experimentsSettings.timelineFlameChart.isEnabled()) |
| + if (mode === WebInspector.TimelinePanel.Mode.FlameChart && !WebInspector.experimentsSettings.timelineFlameChart.isEnabled() || |
| + mode === WebInspector.TimelinePanel.Mode.Power && (!WebInspector.experimentsSettings.powerProfiler.isEnabled() || !Capabilities.canProfilePower)) |
|
pfeldman
2014/03/24 13:41:25
No need to check for experiment here since you onl
Pan
2014/03/25 12:30:20
Done.
|
| continue; |
| this._overviewItems[mode] = new WebInspector.SidebarTreeElement("timeline-overview-sidebar-" + mode.toLowerCase(), WebInspector.UIString(mode)); |
| var item = this._overviewItems[mode]; |
| @@ -551,6 +559,7 @@ WebInspector.TimelinePanel.prototype = { |
| { |
| this._userInitiatedRecording = userInitiated; |
| this._model.startRecording(true); |
| + this._viewsForMode(WebInspector.TimelinePanel.Mode.Power).overviewView.startTimeline(); |
|
pfeldman
2014/03/24 13:41:25
this._currentViews.overviewView.timelineStarted();
Pan
2014/03/25 12:30:20
Done.
|
| if (userInitiated) |
| WebInspector.userMetrics.TimelineStarted.record(); |
| }, |
| @@ -559,6 +568,7 @@ WebInspector.TimelinePanel.prototype = { |
| { |
| this._userInitiatedRecording = false; |
| this._model.stopRecording(); |
| + this._viewsForMode(WebInspector.TimelinePanel.Mode.Power).overviewView.stopTimeline(); |
|
pfeldman
2014/03/24 13:41:25
...Stopped
Pan
2014/03/25 12:30:20
Done.
|
| }, |
| /** |