85ea4c6be0037f077ca6ed8e537d36511d9606b6
[platform/framework/web/crosswalk.git] / src / ash / keyboard_uma_event_filter.h
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.
4
5 #ifndef ASH_KEYBOARD_UMA_EVENT_FILTER_H_
6 #define ASH_KEYBOARD_UMA_EVENT_FILTER_H_
7
8 #include "base/compiler_specific.h"
9 #include "base/time/time.h"
10 #include "ui/events/event_handler.h"
11
12 namespace ash {
13
14 // EventFilter for tracking keyboard-related metrics, which intercepts events
15 // before they are processed by the usual path and logs metrics about the
16 // events.
17 class KeyboardUMAEventFilter : public ui::EventHandler {
18  public:
19   KeyboardUMAEventFilter();
20   virtual ~KeyboardUMAEventFilter();
21
22   // ui::EventHandler overrides:
23   virtual void OnKeyEvent(ui::KeyEvent* event) OVERRIDE;
24
25  private:
26   // The timestamp of the last character keystroke.
27   base::TimeDelta last_keystroke_time_;
28
29   DISALLOW_COPY_AND_ASSIGN(KeyboardUMAEventFilter);
30 };
31
32 }  // namespace ash
33
34 #endif  // ASH_KEYBOARD_UMA_EVENT_FILTER_H_