Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Unified Diff: media/base/user_input_monitor_linux.cc

Issue 22801007: Adds the UserInputMonitor implementation for Mac. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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,

Powered by Google App Engine
This is Rietveld 408576698