Index: media/base/user_input_monitor_linux.cc |
diff --git a/media/base/user_input_monitor_linux.cc b/media/base/user_input_monitor_linux.cc |
index ee1b7749fd213569d2dbf2db8803a60b0b4b0d06..30d87171b9439530e021cd88454c869046c46774 100644 |
--- a/media/base/user_input_monitor_linux.cc |
+++ b/media/base/user_input_monitor_linux.cc |
@@ -21,6 +21,7 @@ |
#include "base/posix/eintr_wrapper.h" |
#include "base/single_thread_task_runner.h" |
#include "base/threading/non_thread_safe.h" |
+#include "media/base/keyboard_event_counter.h" |
#include "third_party/skia/include/core/SkPoint.h" |
#include "ui/base/keycodes/keyboard_code_conversion_x.h" |
@@ -37,10 +38,12 @@ namespace { |
class UserInputMonitorLinux : public base::NonThreadSafe, |
public UserInputMonitor { |
public: |
- UserInputMonitorLinux( |
+ explicit UserInputMonitorLinux( |
const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner); |
virtual ~UserInputMonitorLinux(); |
+ virtual size_t GetKeyPressCount() const OVERRIDE; |
+ |
private: |
enum EventType { |
MOUSE_EVENT, |
@@ -98,6 +101,7 @@ class UserInputMonitorLinux : public base::NonThreadSafe, |
// Task runner on which X Window events are received. |
scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_; |
scoped_refptr<Core> core_; |
+ KeyboardEventCounter counter_; |
DISALLOW_COPY_AND_ASSIGN(UserInputMonitorLinux); |
}; |
@@ -112,6 +116,10 @@ UserInputMonitorLinux::UserInputMonitorLinux( |
UserInputMonitorLinux::~UserInputMonitorLinux() {} |
+size_t UserInputMonitorLinux::GetKeyPressCount() const { |
+ return counter_.GetKeyPressCount(); |
+} |
+ |
void UserInputMonitorLinux::StartMouseMonitoring() { |
io_task_runner_->PostTask( |
FROM_HERE, base::Bind(&Core::StartMonitor, core_.get(), MOUSE_EVENT)); |
@@ -123,6 +131,7 @@ void UserInputMonitorLinux::StopMouseMonitoring() { |
} |
void UserInputMonitorLinux::StartKeyboardMonitoring() { |
+ counter_.Reset(); |
io_task_runner_->PostTask( |
FROM_HERE, base::Bind(&Core::StartMonitor, core_.get(), KEYBOARD_EVENT)); |
} |
@@ -138,7 +147,7 @@ void UserInputMonitorLinux::OnMouseEvent(const SkIPoint& position) { |
void UserInputMonitorLinux::OnKeyboardEvent(ui::EventType event, |
ui::KeyboardCode key_code) { |
- UserInputMonitor::OnKeyboardEvent(event, key_code); |
+ counter_.OnKeyboardEvent(event, key_code); |
} |
UserInputMonitorLinux::Core::Core(const MouseCallback& mouse_callback, |