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.
|
}, |
/** |