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 196b4e7407836319eb72af8b5298d0aebf84bc8e..16f826d3a3b5f06c54b2626975cd861f54eed3b7 100644 |
--- a/media/base/user_input_monitor_linux.cc |
+++ b/media/base/user_input_monitor_linux.cc |
@@ -37,8 +37,6 @@ class UserInputMonitorLinux : public UserInputMonitor , |
public: |
explicit UserInputMonitorLinux( |
const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner); |
- virtual ~UserInputMonitorLinux(); |
- |
virtual size_t GetKeyPressCount() const OVERRIDE; |
private: |
@@ -47,6 +45,8 @@ class UserInputMonitorLinux : public UserInputMonitor , |
KEYBOARD_EVENT |
}; |
+ virtual ~UserInputMonitorLinux(); |
+ |
virtual void StartMouseMonitoring() OVERRIDE; |
virtual void StopMouseMonitoring() OVERRIDE; |
virtual void StartKeyboardMonitoring() OVERRIDE; |
@@ -108,9 +108,7 @@ void UserInputMonitorLinux::StartMouseMonitoring() { |
if (!io_task_runner_->BelongsToCurrentThread()) { |
io_task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&UserInputMonitorLinux::StartMonitor, |
- base::Unretained(this), |
- MOUSE_EVENT)); |
+ base::Bind(&UserInputMonitorLinux::StartMouseMonitoring, this)); |
return; |
} |
StartMonitor(MOUSE_EVENT); |
@@ -120,9 +118,7 @@ void UserInputMonitorLinux::StopMouseMonitoring() { |
if (!io_task_runner_->BelongsToCurrentThread()) { |
io_task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&UserInputMonitorLinux::StopMonitor, |
- base::Unretained(this), |
- MOUSE_EVENT)); |
+ base::Bind(&UserInputMonitorLinux::StopMouseMonitoring, this)); |
return; |
} |
StopMonitor(MOUSE_EVENT); |
@@ -132,9 +128,7 @@ void UserInputMonitorLinux::StartKeyboardMonitoring() { |
if (!io_task_runner_->BelongsToCurrentThread()) { |
io_task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&UserInputMonitorLinux::StartMonitor, |
- base::Unretained(this), |
- KEYBOARD_EVENT)); |
+ base::Bind(&UserInputMonitorLinux::StartKeyboardMonitoring, this)); |
return; |
} |
StartMonitor(KEYBOARD_EVENT); |
@@ -144,9 +138,7 @@ void UserInputMonitorLinux::StopKeyboardMonitoring() { |
if (!io_task_runner_->BelongsToCurrentThread()) { |
Sergey Ulanov
2013/09/04 18:40:09
There is potential race between StartKeyboardMonit
jiayl
2013/09/05 00:29:38
If the same caller calls Start and Stop on differe
Sergey Ulanov
2013/09/07 20:19:41
It might not be the same caller. One object may b
jiayl
2013/09/10 16:31:00
Done.
|
io_task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&UserInputMonitorLinux::StopMonitor, |
- base::Unretained(this), |
- KEYBOARD_EVENT)); |
+ base::Bind(&UserInputMonitorLinux::StopKeyboardMonitoring, this)); |
return; |
} |
StopMonitor(KEYBOARD_EVENT); |
@@ -326,10 +318,10 @@ void UserInputMonitorLinux::ProcessReply(XPointer self, |
} // namespace |
-scoped_ptr<UserInputMonitor> UserInputMonitor::Create( |
+scoped_refptr<UserInputMonitor> UserInputMonitor::Create( |
const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner, |
const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner) { |
- return scoped_ptr<UserInputMonitor>( |
+ return scoped_refptr<UserInputMonitor>( |
new UserInputMonitorLinux(io_task_runner)); |
} |