| 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_) {
|
| + desktop_task_switch_metric_recorder_.reset(
|
| + new DesktopTaskSwitchMetricRecorder());
|
| + }
|
| +}
|
| +
|
| +void UserMetricsRecorder::OnShellShuttingDown() {
|
| + if (desktop_task_switch_metric_recorder_)
|
| + desktop_task_switch_metric_recorder_.reset();
|
| +}
|
| +
|
| void UserMetricsRecorder::RecordPeriodicMetrics() {
|
| ShelfLayoutManager* manager =
|
| ShelfLayoutManager::ForShelf(Shell::GetPrimaryRootWindow());
|
|
|