Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / remoting / host / basic_desktop_environment.cc
index 011bf5c..f821d59 100644 (file)
@@ -12,6 +12,8 @@
 #include "remoting/host/gnubby_auth_handler.h"
 #include "remoting/host/input_injector.h"
 #include "remoting/host/screen_controls.h"
+#include "third_party/webrtc/modules/desktop_capture/desktop_capture_options.h"
+#include "third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor.h"
 #include "third_party/webrtc/modules/desktop_capture/screen_capturer.h"
 
 namespace remoting {
@@ -38,6 +40,14 @@ scoped_ptr<ScreenControls> BasicDesktopEnvironment::CreateScreenControls() {
   return scoped_ptr<ScreenControls>();
 }
 
+scoped_ptr<webrtc::MouseCursorMonitor>
+BasicDesktopEnvironment::CreateMouseCursorMonitor() {
+  return scoped_ptr<webrtc::MouseCursorMonitor>(
+      webrtc::MouseCursorMonitor::CreateForScreen(
+          *desktop_capture_options_,
+          webrtc::kFullDesktopScreenId));
+}
+
 std::string BasicDesktopEnvironment::GetCapabilities() const {
   return std::string();
 }
@@ -50,13 +60,14 @@ scoped_ptr<GnubbyAuthHandler> BasicDesktopEnvironment::CreateGnubbyAuthHandler(
   return scoped_ptr<GnubbyAuthHandler>();
 }
 
-scoped_ptr<webrtc::ScreenCapturer>
+scoped_ptr<webrtc::DesktopCapturer>
 BasicDesktopEnvironment::CreateVideoCapturer() {
   DCHECK(caller_task_runner_->BelongsToCurrentThread());
 
   // The basic desktop environment does not use X DAMAGE, since it is
   // broken on many systems - see http://crbug.com/73423.
-  return scoped_ptr<webrtc::ScreenCapturer>(webrtc::ScreenCapturer::Create());
+  return scoped_ptr<webrtc::DesktopCapturer>(
+      webrtc::ScreenCapturer::Create(*desktop_capture_options_));
 }
 
 BasicDesktopEnvironment::BasicDesktopEnvironment(
@@ -65,7 +76,10 @@ BasicDesktopEnvironment::BasicDesktopEnvironment(
     scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner)
     : caller_task_runner_(caller_task_runner),
       input_task_runner_(input_task_runner),
-      ui_task_runner_(ui_task_runner) {
+      ui_task_runner_(ui_task_runner),
+      desktop_capture_options_(
+          new webrtc::DesktopCaptureOptions(
+              webrtc::DesktopCaptureOptions::CreateDefault())) {
   DCHECK(caller_task_runner_->BelongsToCurrentThread());
 }