Index: ash/metrics/user_metrics_recorder.cc |
diff --git a/ash/metrics/user_metrics_recorder.cc b/ash/metrics/user_metrics_recorder.cc |
index cfc4d8ee16d4a79a28fe463ce86ff38e8f60b497..8a79b746f47cf7116eed1d19b411db21cd44c63b 100644 |
--- a/ash/metrics/user_metrics_recorder.cc |
+++ b/ash/metrics/user_metrics_recorder.cc |
@@ -4,6 +4,7 @@ |
#include "ash/metrics/user_metrics_recorder.h" |
+#include "ash/metrics/desktop_task_switch_metric_recorder.h" |
#include "ash/session/session_state_delegate.h" |
#include "ash/shelf/shelf_delegate.h" |
#include "ash/shelf/shelf_item_types.h" |
@@ -236,6 +237,11 @@ void UserMetricsRecorder::RecordUserMetricsAction(UserMetricsAction action) { |
case ash::UMA_CLOSE_THROUGH_CONTEXT_MENU: |
base::RecordAction(base::UserMetricsAction("CloseFromContextMenu")); |
break; |
+ case ash::UMA_DESKTOP_SWITCH_TASK: |
+ base::RecordAction(base::UserMetricsAction("Desktop_SwitchTask")); |
+ task_switch_metrics_recorder_.OnTaskSwitch( |
+ TaskSwitchMetricsRecorder::kDesktop); |
+ break; |
case ash::UMA_DRAG_MAXIMIZE_LEFT: |
base::RecordAction(base::UserMetricsAction("WindowDrag_MaximizeLeft")); |
break; |
@@ -598,6 +604,18 @@ void UserMetricsRecorder::RecordUserMetricsAction(UserMetricsAction action) { |
} |
} |
+void UserMetricsRecorder::OnShellInitialized() { |
+ if (!desktop_task_switch_metric_recorder_) { |
sky
2015/06/04 20:10:52
Please add comment as to why the conditional.
bruthig
2015/06/05 17:28:21
Done.
|
+ desktop_task_switch_metric_recorder_.reset( |
+ new DesktopTaskSwitchMetricRecorder()); |
+ } |
+} |
+ |
+void UserMetricsRecorder::OnShellShuttingDown() { |
+ if (desktop_task_switch_metric_recorder_) |
sky
2015/06/04 20:10:52
Conditional is not needed.
bruthig
2015/06/05 17:28:21
Done.
|
+ desktop_task_switch_metric_recorder_.reset(); |
+} |
+ |
void UserMetricsRecorder::RecordPeriodicMetrics() { |
ShelfLayoutManager* manager = |
ShelfLayoutManager::ForShelf(Shell::GetPrimaryRootWindow()); |