Chromium Code Reviews| 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)); |
| } |