Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2491)

Unified Diff: ash/metrics/user_metrics_recorder.cc

Issue 1153633006: Added UMA statistics for changing the active window via click or touch events. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed the branch that the CL was based on. Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..8229039ea3e29e54e364fd0f4d36a715d7ee82de 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,19 @@ void UserMetricsRecorder::RecordUserMetricsAction(UserMetricsAction action) {
}
}
+void UserMetricsRecorder::OnShellInitialized() {
+ // Lazy creation of the DesktopTaskSwitchMetricRecorder because it accesses
+ // Shell::GetInstance() which is not available when |this| is instantiated.
+ if (!desktop_task_switch_metric_recorder_) {
+ desktop_task_switch_metric_recorder_.reset(
+ new DesktopTaskSwitchMetricRecorder());
+ }
+}
+
+void UserMetricsRecorder::OnShellShuttingDown() {
+ desktop_task_switch_metric_recorder_.reset();
+}
+
void UserMetricsRecorder::RecordPeriodicMetrics() {
ShelfLayoutManager* manager =
ShelfLayoutManager::ForShelf(Shell::GetPrimaryRootWindow());

Powered by Google App Engine
This is Rietveld 408576698