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

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: Fix linux build Created 6 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « remoting/host/basic_desktop_environment.h ('k') | remoting/host/chromoting_host_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/gnubby_auth_handler.h" 12 #include "remoting/host/gnubby_auth_handler.h"
13 #include "remoting/host/input_injector.h" 13 #include "remoting/host/input_injector.h"
14 #include "remoting/host/screen_controls.h" 14 #include "remoting/host/screen_controls.h"
15 #include "third_party/webrtc/modules/desktop_capture/desktop_capture_options.h"
16 #include "third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor.h"
15 #include "third_party/webrtc/modules/desktop_capture/screen_capturer.h" 17 #include "third_party/webrtc/modules/desktop_capture/screen_capturer.h"
16 18
17 namespace remoting { 19 namespace remoting {
18 20
19 BasicDesktopEnvironment::~BasicDesktopEnvironment() { 21 BasicDesktopEnvironment::~BasicDesktopEnvironment() {
20 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 22 DCHECK(caller_task_runner_->BelongsToCurrentThread());
21 } 23 }
22 24
23 scoped_ptr<AudioCapturer> BasicDesktopEnvironment::CreateAudioCapturer() { 25 scoped_ptr<AudioCapturer> BasicDesktopEnvironment::CreateAudioCapturer() {
24 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 26 DCHECK(caller_task_runner_->BelongsToCurrentThread());
25 27
26 return AudioCapturer::Create(); 28 return AudioCapturer::Create();
27 } 29 }
28 30
29 scoped_ptr<InputInjector> BasicDesktopEnvironment::CreateInputInjector() { 31 scoped_ptr<InputInjector> BasicDesktopEnvironment::CreateInputInjector() {
30 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 32 DCHECK(caller_task_runner_->BelongsToCurrentThread());
31 33
32 return InputInjector::Create(input_task_runner(), ui_task_runner()); 34 return InputInjector::Create(input_task_runner(), ui_task_runner());
33 } 35 }
34 36
35 scoped_ptr<ScreenControls> BasicDesktopEnvironment::CreateScreenControls() { 37 scoped_ptr<ScreenControls> BasicDesktopEnvironment::CreateScreenControls() {
36 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 38 DCHECK(caller_task_runner_->BelongsToCurrentThread());
37 39
38 return scoped_ptr<ScreenControls>(); 40 return scoped_ptr<ScreenControls>();
39 } 41 }
40 42
43 scoped_ptr<webrtc::MouseCursorMonitor>
44 BasicDesktopEnvironment::CreateMouseCursorMonitor() {
45 return scoped_ptr<webrtc::MouseCursorMonitor>(
46 webrtc::MouseCursorMonitor::CreateForScreen(
47 *desktop_capture_options_,
48 webrtc::kFullDesktopScreenId));
49 }
50
41 std::string BasicDesktopEnvironment::GetCapabilities() const { 51 std::string BasicDesktopEnvironment::GetCapabilities() const {
42 return std::string(); 52 return std::string();
43 } 53 }
44 54
45 void BasicDesktopEnvironment::SetCapabilities(const std::string& capabilities) { 55 void BasicDesktopEnvironment::SetCapabilities(const std::string& capabilities) {
46 } 56 }
47 57
48 scoped_ptr<GnubbyAuthHandler> BasicDesktopEnvironment::CreateGnubbyAuthHandler( 58 scoped_ptr<GnubbyAuthHandler> BasicDesktopEnvironment::CreateGnubbyAuthHandler(
49 protocol::ClientStub* client_stub) { 59 protocol::ClientStub* client_stub) {
50 return scoped_ptr<GnubbyAuthHandler>(); 60 return scoped_ptr<GnubbyAuthHandler>();
51 } 61 }
52 62
53 scoped_ptr<webrtc::ScreenCapturer> 63 scoped_ptr<webrtc::ScreenCapturer>
54 BasicDesktopEnvironment::CreateVideoCapturer() { 64 BasicDesktopEnvironment::CreateVideoCapturer() {
55 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 65 DCHECK(caller_task_runner_->BelongsToCurrentThread());
56 66
57 // The basic desktop environment does not use X DAMAGE, since it is 67 // The basic desktop environment does not use X DAMAGE, since it is
58 // broken on many systems - see http://crbug.com/73423. 68 // broken on many systems - see http://crbug.com/73423.
59 return scoped_ptr<webrtc::ScreenCapturer>(webrtc::ScreenCapturer::Create()); 69 return scoped_ptr<webrtc::ScreenCapturer>(
70 webrtc::ScreenCapturer::Create(*desktop_capture_options_));
60 } 71 }
61 72
62 BasicDesktopEnvironment::BasicDesktopEnvironment( 73 BasicDesktopEnvironment::BasicDesktopEnvironment(
63 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, 74 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
64 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, 75 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
65 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) 76 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner)
66 : caller_task_runner_(caller_task_runner), 77 : caller_task_runner_(caller_task_runner),
67 input_task_runner_(input_task_runner), 78 input_task_runner_(input_task_runner),
68 ui_task_runner_(ui_task_runner) { 79 ui_task_runner_(ui_task_runner),
80 desktop_capture_options_(
81 new webrtc::DesktopCaptureOptions(
82 webrtc::DesktopCaptureOptions::CreateDefault())) {
69 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 83 DCHECK(caller_task_runner_->BelongsToCurrentThread());
70 } 84 }
71 85
72 BasicDesktopEnvironmentFactory::BasicDesktopEnvironmentFactory( 86 BasicDesktopEnvironmentFactory::BasicDesktopEnvironmentFactory(
73 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, 87 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
74 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner, 88 scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
75 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) 89 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner)
76 : caller_task_runner_(caller_task_runner), 90 : caller_task_runner_(caller_task_runner),
77 input_task_runner_(input_task_runner), 91 input_task_runner_(input_task_runner),
78 ui_task_runner_(ui_task_runner) { 92 ui_task_runner_(ui_task_runner) {
79 } 93 }
80 94
81 BasicDesktopEnvironmentFactory::~BasicDesktopEnvironmentFactory() { 95 BasicDesktopEnvironmentFactory::~BasicDesktopEnvironmentFactory() {
82 } 96 }
83 97
84 bool BasicDesktopEnvironmentFactory::SupportsAudioCapture() const { 98 bool BasicDesktopEnvironmentFactory::SupportsAudioCapture() const {
85 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 99 DCHECK(caller_task_runner_->BelongsToCurrentThread());
86 100
87 return AudioCapturer::IsSupported(); 101 return AudioCapturer::IsSupported();
88 } 102 }
89 103
90 } // namespace remoting 104 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/host/basic_desktop_environment.h ('k') | remoting/host/chromoting_host_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698