| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "remoting/host/event_executor.h" | 5 #include "remoting/host/event_executor.h" |
| 6 | 6 |
| 7 #include <ApplicationServices/ApplicationServices.h> | 7 #include <ApplicationServices/ApplicationServices.h> |
| 8 #include <Carbon/Carbon.h> | 8 #include <Carbon/Carbon.h> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 virtual ~EventExecutorMac() {} | 38 virtual ~EventExecutorMac() {} |
| 39 | 39 |
| 40 // ClipboardStub interface. | 40 // ClipboardStub interface. |
| 41 virtual void InjectClipboardEvent(const ClipboardEvent& event) OVERRIDE; | 41 virtual void InjectClipboardEvent(const ClipboardEvent& event) OVERRIDE; |
| 42 | 42 |
| 43 // InputStub interface. | 43 // InputStub interface. |
| 44 virtual void InjectKeyEvent(const KeyEvent& event) OVERRIDE; | 44 virtual void InjectKeyEvent(const KeyEvent& event) OVERRIDE; |
| 45 virtual void InjectMouseEvent(const MouseEvent& event) OVERRIDE; | 45 virtual void InjectMouseEvent(const MouseEvent& event) OVERRIDE; |
| 46 | 46 |
| 47 // EventExecutor interface. | 47 // EventExecutor interface. |
| 48 virtual void OnSessionStarted( | 48 virtual void Start( |
| 49 scoped_ptr<protocol::ClipboardStub> client_clipboard) OVERRIDE; | 49 scoped_ptr<protocol::ClipboardStub> client_clipboard) OVERRIDE; |
| 50 virtual void OnSessionFinished() OVERRIDE; | 50 virtual void StopAndDelete() OVERRIDE; |
| 51 | 51 |
| 52 private: | 52 private: |
| 53 scoped_refptr<base::SingleThreadTaskRunner> task_runner_; | 53 scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
| 54 SkIPoint mouse_pos_; | 54 SkIPoint mouse_pos_; |
| 55 uint32 mouse_button_state_; | 55 uint32 mouse_button_state_; |
| 56 scoped_ptr<Clipboard> clipboard_; | 56 scoped_ptr<Clipboard> clipboard_; |
| 57 | 57 |
| 58 DISALLOW_COPY_AND_ASSIGN(EventExecutorMac); | 58 DISALLOW_COPY_AND_ASSIGN(EventExecutorMac); |
| 59 }; | 59 }; |
| 60 | 60 |
| (...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 #pragma clang diagnostic push | 356 #pragma clang diagnostic push |
| 357 #pragma clang diagnostic ignored "-Wdeprecated-declarations" | 357 #pragma clang diagnostic ignored "-Wdeprecated-declarations" |
| 358 error = CGPostScrollWheelEvent(2, dy, dx); | 358 error = CGPostScrollWheelEvent(2, dy, dx); |
| 359 #pragma clang diagnostic pop | 359 #pragma clang diagnostic pop |
| 360 if (error != kCGErrorSuccess) { | 360 if (error != kCGErrorSuccess) { |
| 361 LOG(WARNING) << "CGPostScrollWheelEvent error " << error; | 361 LOG(WARNING) << "CGPostScrollWheelEvent error " << error; |
| 362 } | 362 } |
| 363 } | 363 } |
| 364 } | 364 } |
| 365 | 365 |
| 366 void EventExecutorMac::OnSessionStarted( | 366 void EventExecutorMac::Start( |
| 367 scoped_ptr<protocol::ClipboardStub> client_clipboard) { | 367 scoped_ptr<protocol::ClipboardStub> client_clipboard) { |
| 368 if (!task_runner_->BelongsToCurrentThread()) { | 368 if (!task_runner_->BelongsToCurrentThread()) { |
| 369 task_runner_->PostTask( | 369 task_runner_->PostTask( |
| 370 FROM_HERE, | 370 FROM_HERE, |
| 371 base::Bind(&EventExecutorMac::OnSessionStarted, | 371 base::Bind(&EventExecutorMac::Start, |
| 372 base::Unretained(this), | 372 base::Unretained(this), |
| 373 base::Passed(&client_clipboard))); | 373 base::Passed(&client_clipboard))); |
| 374 return; | 374 return; |
| 375 } | 375 } |
| 376 | 376 |
| 377 clipboard_->Start(client_clipboard.Pass()); | 377 clipboard_->Start(client_clipboard.Pass()); |
| 378 } | 378 } |
| 379 | 379 |
| 380 void EventExecutorMac::OnSessionFinished() { | 380 void EventExecutorMac::StopAndDelete() { |
| 381 if (!task_runner_->BelongsToCurrentThread()) { | 381 if (!task_runner_->BelongsToCurrentThread()) { |
| 382 task_runner_->PostTask( | 382 task_runner_->PostTask( |
| 383 FROM_HERE, | 383 FROM_HERE, |
| 384 base::Bind(&EventExecutorMac::OnSessionFinished, | 384 base::Bind(&EventExecutorMac::StopAndDelete, |
| 385 base::Unretained(this))); | 385 base::Unretained(this))); |
| 386 return; | 386 return; |
| 387 } | 387 } |
| 388 | 388 |
| 389 clipboard_->Stop(); | 389 clipboard_->Stop(); |
| 390 delete this; |
| 390 } | 391 } |
| 391 | 392 |
| 392 } // namespace | 393 } // namespace |
| 393 | 394 |
| 394 scoped_ptr<EventExecutor> EventExecutor::Create( | 395 scoped_ptr<EventExecutor> EventExecutor::Create( |
| 395 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, | 396 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, |
| 396 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) { | 397 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) { |
| 397 return scoped_ptr<EventExecutor>(new EventExecutorMac(main_task_runner)); | 398 return scoped_ptr<EventExecutor>(new EventExecutorMac(main_task_runner)); |
| 398 } | 399 } |
| 399 | 400 |
| 400 } // namespace remoting | 401 } // namespace remoting |
| OLD | NEW |