Index: ash/metrics/user_metrics_recorder.cc |
diff --git a/ash/metrics/user_metrics_recorder.cc b/ash/metrics/user_metrics_recorder.cc |
index 0156819022bd5621f4a85e87c0933528b0991238..f0e75e24ab3042fa90fbd27f1bc829b15c945de2 100644 |
--- a/ash/metrics/user_metrics_recorder.cc |
+++ b/ash/metrics/user_metrics_recorder.cc |
@@ -18,10 +18,15 @@ |
#include "ash/metrics/desktop_task_switch_metric_recorder.h" |
#include "ash/shell.h" |
#include "ash/wm/window_state_aura.h" |
+#include "base/memory/ptr_util.h" |
#include "base/metrics/histogram.h" |
#include "base/metrics/user_metrics.h" |
#include "ui/aura/window.h" |
+#if defined(OS_CHROMEOS) |
+#include "ash/metrics/pointer_metrics_recorder.h" |
+#endif |
+ |
namespace ash { |
namespace { |
@@ -595,10 +600,20 @@ void UserMetricsRecorder::OnShellInitialized() { |
desktop_task_switch_metric_recorder_.reset( |
new DesktopTaskSwitchMetricRecorder()); |
} |
+#if defined(OS_CHROMEOS) |
+ pointer_metrics_recorder_ = base::MakeUnique<PointerMetricsRecorder>(); |
+#endif |
} |
void UserMetricsRecorder::OnShellShuttingDown() { |
desktop_task_switch_metric_recorder_.reset(); |
+ |
+#if defined(OS_CHROMEOS) |
+ // To clean up stylus_metrics_recorder_ properly, a valid shell instance is |
Daniel Erat
2016/09/27 19:15:10
nit: s/stylus/pointer/
xiaoyinh(OOO Sep 11-29)
2016/09/29 20:37:43
Done.
|
+ // required. So explicityly delete it before the shell instance becomes |
Daniel Erat
2016/09/27 19:15:10
nit: explicitly
xiaoyinh(OOO Sep 11-29)
2016/09/29 20:37:43
Done.
|
+ // invalid. |
+ pointer_metrics_recorder_.reset(); |
+#endif |
} |
void UserMetricsRecorder::RecordPeriodicMetrics() { |