Index: ash/metrics/task_switch_metrics_recorder.cc |
diff --git a/ash/metrics/task_switch_metrics_recorder.cc b/ash/metrics/task_switch_metrics_recorder.cc |
index 11ba222f9a724fb758d2d315e9a8d19dbe33c1b8..69718dc726def009b50dd3e23eba5933d1a61bd4 100644 |
--- a/ash/metrics/task_switch_metrics_recorder.cc |
+++ b/ash/metrics/task_switch_metrics_recorder.cc |
@@ -10,6 +10,8 @@ namespace ash { |
namespace { |
+const char kAshTaskSwitchHistogramName[] = "Ash.TimeBetweenTaskSwitches"; |
+ |
const char kDesktopHistogramName[] = |
"Ash.Desktop.TimeBetweenNavigateToTaskSwitches"; |
@@ -31,6 +33,8 @@ const char kOverviewModeHistogramName[] = |
const char* GetHistogramName( |
TaskSwitchMetricsRecorder::TaskSwitchSource task_switch_source) { |
switch (task_switch_source) { |
+ case TaskSwitchMetricsRecorder::kAny: |
+ return kAshTaskSwitchHistogramName; |
case TaskSwitchMetricsRecorder::kAppList: |
return kAppListHistogramName; |
case TaskSwitchMetricsRecorder::kDesktop: |
@@ -58,6 +62,15 @@ TaskSwitchMetricsRecorder::~TaskSwitchMetricsRecorder() { |
void TaskSwitchMetricsRecorder::OnTaskSwitch( |
TaskSwitchSource task_switch_source) { |
+ DCHECK_NE(task_switch_source, kAny); |
+ if (task_switch_source != kAny) { |
+ OnTaskSwitchInternal(task_switch_source); |
+ OnTaskSwitchInternal(kAny); |
+ } |
+} |
+ |
+void TaskSwitchMetricsRecorder::OnTaskSwitchInternal( |
+ TaskSwitchSource task_switch_source) { |
TaskSwitchTimeTracker* task_switch_time_tracker = |
FindTaskSwitchTimeTracker(task_switch_source); |
if (!task_switch_time_tracker) |