Index: ash/shell.cc |
diff --git a/ash/shell.cc b/ash/shell.cc |
index 1964e4ddc9bef3f4f4050f80b0623eaf421e1ea7..6796136b3ffa7fad7ef532cbce812b206acf17ed 100644 |
--- a/ash/shell.cc |
+++ b/ash/shell.cc |
@@ -128,6 +128,7 @@ |
#include "ash/system/chromeos/power/video_activity_notifier.h" |
#include "ash/touch/touch_transformer_controller.h" |
#include "ash/virtual_keyboard_controller.h" |
+#include "ash/wm/stylus_metrics_recorder.h" |
#include "base/bind_helpers.h" |
#include "base/sys_info.h" |
#include "chromeos/audio/audio_a11y_controller.h" |
@@ -552,6 +553,9 @@ Shell::~Shell() { |
RemovePostTargetHandler(toplevel_window_event_handler_.get()); |
RemovePreTargetHandler(system_gesture_filter_.get()); |
RemovePreTargetHandler(mouse_cursor_filter_.get()); |
+#if defined(OS_CHROMEOS) |
+ RemovePreTargetHandler(stylus_metrics_recorder_.get()); |
+#endif |
RemovePreTargetHandler(modality_filter_.get()); |
// TooltipController is deleted with the Shell so removing its references. |
@@ -643,6 +647,10 @@ Shell::~Shell() { |
#endif // defined(OS_CHROMEOS) |
#if defined(OS_CHROMEOS) |
+ stylus_metrics_recorder_.reset(); |
+#endif // defined(OS_CHROMEOS) |
oshima
2016/08/23 21:40:57
Please put then in the single OS_CHROMEOS. (It pro
xiaoyinh(OOO Sep 11-29)
2016/08/23 22:43:01
I have grouped the neighbors into single OS_CHROME
|
+ |
+#if defined(OS_CHROMEOS) |
audio_a11y_controller_.reset(); |
#endif // defined(OS_CHROMEOS) |
@@ -864,6 +872,14 @@ void Shell::Init(const ShellInitParams& init_params) { |
mouse_cursor_filter_.reset(new MouseCursorEventFilter()); |
PrependPreTargetHandler(mouse_cursor_filter_.get()); |
+#if defined(OS_CHROMEOS) |
+ // |stylus_metrics_recorder| records stylus metrics for certain events. |
+ // It does not handle/consume any events, so prepend it as a pre-target hander |
+ // before events are consumed elsewhere. |
+ stylus_metrics_recorder_.reset(new StylusMetricsRecorder()); |
+ PrependPreTargetHandler(stylus_metrics_recorder_.get()); |
+#endif |
+ |
// Create Controllers that may need root window. |
// TODO(oshima): Move as many controllers before creating |
// RootWindowController as possible. |