Pull third_party/clang_format/scripts via DEPS.
[chromium-blink-merge.git] / ash / keyboard_uma_event_filter.h
blobb25f2f934e0b63d6c1208463f0c6529d33d3c88d
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
3 // found in the LICENSE file.
5 #ifndef ASH_KEYBOARD_UMA_EVENT_FILTER_H_
6 #define ASH_KEYBOARD_UMA_EVENT_FILTER_H_
8 #include "base/compiler_specific.h"
9 #include "base/time/time.h"
10 #include "ui/events/event_handler.h"
12 namespace ash {
13 namespace internal {
15 // EventFilter for tracking keyboard-related metrics, which intercepts events
16 // before they are processed by the usual path and logs metrics about the
17 // events.
18 class KeyboardUMAEventFilter : public ui::EventHandler {
19 public:
20 KeyboardUMAEventFilter();
21 virtual ~KeyboardUMAEventFilter();
23 // ui::EventHandler overrides:
24 virtual void OnKeyEvent(ui::KeyEvent* event) OVERRIDE;
26 private:
27 // The timestamp of the last character keystroke.
28 base::TimeDelta last_keystroke_time_;
30 DISALLOW_COPY_AND_ASSIGN(KeyboardUMAEventFilter);
33 } // namespace internal
34 } // namespace ash
36 #endif // ASH_KEYBOARD_UMA_EVENT_FILTER_H_