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

Side by Side Diff: remoting/host/basic_desktop_environment.cc

Issue 92473002: Use webrtc::MouseCursorMonitor for cursor shapes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed linux build break. Created 6 years, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/basic_desktop_environment.h" 5 #include "remoting/host/basic_desktop_environment.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/single_thread_task_runner.h" 9 #include "base/single_thread_task_runner.h"
10 #include "remoting/host/audio_capturer.h" 10 #include "remoting/host/audio_capturer.h"
11 #include "remoting/host/client_session_control.h" 11 #include "remoting/host/client_session_control.h"
12 #include "remoting/host/input_injector.h" 12 #include "remoting/host/input_injector.h"
13 #include "remoting/host/screen_controls.h" 13 #include "remoting/host/screen_controls.h"
14 #include "third_party/webrtc/modules/desktop_capture/desktop_capture_options.h"
15 #include "third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor.h"
14 #include "third_party/webrtc/modules/desktop_capture/screen_capturer.h" 16 #include "third_party/webrtc/modules/desktop_capture/screen_capturer.h"
15 17
16 namespace remoting { 18 namespace remoting {
17 19
18 BasicDesktopEnvironment::~BasicDesktopEnvironment() { 20 BasicDesktopEnvironment::~BasicDesktopEnvironment() {
19 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 21 DCHECK(caller_task_runner_->BelongsToCurrentThread());
20 } 22 }
21 23
22 scoped_ptr<AudioCapturer> BasicDesktopEnvironment::CreateAudioCapturer() { 24 scoped_ptr<AudioCapturer> BasicDesktopEnvironment::CreateAudioCapturer() {
23 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 25 DCHECK(caller_task_runner_->BelongsToCurrentThread());
24 26
25 return AudioCapturer::Create(); 27 return AudioCapturer::Create();
26 } 28 }
27 29
28 scoped_ptr<InputInjector> BasicDesktopEnvironment::CreateInputInjector() { 30 scoped_ptr<InputInjector> BasicDesktopEnvironment::CreateInputInjector() {
29 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 31 DCHECK(caller_task_runner_->BelongsToCurrentThread());
30 32
31 return InputInjector::Create(input_task_runner(), ui_task_runner()); 33 return InputInjector::Create(input_task_runner(), ui_task_runner());
32 } 34 }
33 35
34 scoped_ptr<ScreenControls> BasicDesktopEnvironment::CreateScreenControls() { 36 scoped_ptr<ScreenControls> BasicDesktopEnvironment::CreateScreenControls() {
35 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 37 DCHECK(caller_task_runner_->BelongsToCurrentThread());
36 38
37 return scoped_ptr<ScreenControls>(); 39 return scoped_ptr<ScreenControls>();
38 } 40 }
39 41
42 scoped_ptr<webrtc::MouseCursorMonitor>
43 BasicDesktopEnvironment::CreateMouseCursorMonitor() {
44 return scoped_ptr<webrtc::MouseCursorMonitor>(
45 webrtc::MouseCursorMonitor::CreateForScreen(
46 *desktop_capture_options_,
47 webrtc::kFullDesktopScreenId));
48 }
49
40 std::string BasicDesktopEnvironment::GetCapabilities() const { 50 std::string BasicDesktopEnvironment::GetCapabilities() const {
41 return std::string(); 51 return std::string();
42 } 52 }
43 53
44 void BasicDesktopEnvironment::SetCapabilities(const std::string& capabilities) { 54 void BasicDesktopEnvironment::SetCapabilities(const std::string& capabilities) {
45 } 55 }
46 56
47 scoped_ptr<webrtc::ScreenCapturer> 57 scoped_ptr<webrtc::ScreenCapturer>
48 BasicDesktopEnvironment::CreateVideoCapturer() { 58 BasicDesktopEnvironment::CreateVideoCapturer() {
49 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 59 DCHECK(caller_task_runner_->BelongsToCurrentThread());
50 60
51 // The basic desktop environment does not use X DAMAGE, since it is 61 // The basic desktop environment does not use X DAMAGE, since it is
52 // broken on many systems - see http://crbug.com/73423. 62 // broken on many systems - see http://crbug.com/73423.
53 return scoped_ptr<webrtc::ScreenCapturer>(webrtc::ScreenCapturer::Create()); 63 return scoped_ptr<webrtc::ScreenCapturer>(
64 webrtc::ScreenCapturer::Create(*desktop_capture_options_));
54 } 65 }
55 66
56 BasicDesktopEnvironment::BasicDesktopEnvironment( 67 BasicDesktopEnvironment::BasicDesktopEnvironment(
57 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, 68 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
58 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, 69 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
59 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) 70 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner)
60 : caller_task_runner_(caller_task_runner), 71 : caller_task_runner_(caller_task_runner),
61 input_task_runner_(input_task_runner), 72 input_task_runner_(input_task_runner),
62 ui_task_runner_(ui_task_runner) { 73 ui_task_runner_(ui_task_runner),
74 desktop_capture_options_(
75 new webrtc::DesktopCaptureOptions(
76 webrtc::DesktopCaptureOptions::CreateDefault())) {
63 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 77 DCHECK(caller_task_runner_->BelongsToCurrentThread());
64 } 78 }
65 79
66 BasicDesktopEnvironmentFactory::BasicDesktopEnvironmentFactory( 80 BasicDesktopEnvironmentFactory::BasicDesktopEnvironmentFactory(
67 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, 81 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
68 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, 82 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
69 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) 83 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner)
70 : caller_task_runner_(caller_task_runner), 84 : caller_task_runner_(caller_task_runner),
71 input_task_runner_(input_task_runner), 85 input_task_runner_(input_task_runner),
72 ui_task_runner_(ui_task_runner) { 86 ui_task_runner_(ui_task_runner) {
73 } 87 }
74 88
75 BasicDesktopEnvironmentFactory::~BasicDesktopEnvironmentFactory() { 89 BasicDesktopEnvironmentFactory::~BasicDesktopEnvironmentFactory() {
76 } 90 }
77 91
78 bool BasicDesktopEnvironmentFactory::SupportsAudioCapture() const { 92 bool BasicDesktopEnvironmentFactory::SupportsAudioCapture() const {
79 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 93 DCHECK(caller_task_runner_->BelongsToCurrentThread());
80 94
81 return AudioCapturer::IsSupported(); 95 return AudioCapturer::IsSupported();
82 } 96 }
83 97
84 } // namespace remoting 98 } // namespace remoting
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698