OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef ASH_KEYBOARD_UMA_EVENT_FILTER_H_ | 5 #ifndef ASH_KEYBOARD_UMA_EVENT_FILTER_H_ |
6 #define ASH_KEYBOARD_UMA_EVENT_FILTER_H_ | 6 #define ASH_KEYBOARD_UMA_EVENT_FILTER_H_ |
7 | 7 |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
| 9 #include "base/macros.h" |
9 #include "base/time/time.h" | 10 #include "base/time/time.h" |
10 #include "ui/events/event_handler.h" | 11 #include "ui/events/event_handler.h" |
11 | 12 |
12 namespace ash { | 13 namespace ash { |
13 | 14 |
14 // EventFilter for tracking keyboard-related metrics, which intercepts events | 15 // EventFilter for tracking keyboard-related metrics, which intercepts events |
15 // before they are processed by the usual path and logs metrics about the | 16 // before they are processed by the usual path and logs metrics about the |
16 // events. | 17 // events. |
17 class KeyboardUMAEventFilter : public ui::EventHandler { | 18 class KeyboardUMAEventFilter : public ui::EventHandler { |
18 public: | 19 public: |
19 KeyboardUMAEventFilter(); | 20 KeyboardUMAEventFilter(); |
20 ~KeyboardUMAEventFilter() override; | 21 ~KeyboardUMAEventFilter() override; |
21 | 22 |
22 // ui::EventHandler overrides: | 23 // ui::EventHandler overrides: |
23 void OnKeyEvent(ui::KeyEvent* event) override; | 24 void OnKeyEvent(ui::KeyEvent* event) override; |
24 | 25 |
25 private: | 26 private: |
26 // The timestamp of the last character keystroke. | 27 // The timestamp of the last character keystroke. |
27 base::TimeDelta last_keystroke_time_; | 28 base::TimeDelta last_keystroke_time_; |
28 | 29 |
29 DISALLOW_COPY_AND_ASSIGN(KeyboardUMAEventFilter); | 30 DISALLOW_COPY_AND_ASSIGN(KeyboardUMAEventFilter); |
30 }; | 31 }; |
31 | 32 |
32 } // namespace ash | 33 } // namespace ash |
33 | 34 |
34 #endif // ASH_KEYBOARD_UMA_EVENT_FILTER_H_ | 35 #endif // ASH_KEYBOARD_UMA_EVENT_FILTER_H_ |
OLD | NEW |