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

Unified Diff: remoting/host/me2me_window_desktop_environment.cc

Issue 422503004: Adding ability to stream windows and inject events to them (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: I updated the code with almost all of the comments Lambros had. The exceptions are the redesign of … Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: remoting/host/me2me_window_desktop_environment.cc
diff --git a/remoting/host/me2me_window_desktop_environment.cc b/remoting/host/me2me_window_desktop_environment.cc
new file mode 100644
index 0000000000000000000000000000000000000000..bd5eb1f487be3cdd22ba65f1e47be52d809e468e
--- /dev/null
+++ b/remoting/host/me2me_window_desktop_environment.cc
@@ -0,0 +1,85 @@
+// Copyright (c) 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "remoting/host/me2me_window_desktop_environment.h"
+
+#include "base/logging.h"
+#include "base/single_thread_task_runner.h"
+#include "remoting/host/window_capturer_screen_wrapper.h"
+#include "third_party/webrtc/modules/desktop_capture/desktop_capture_options.h"
+#include "third_party/webrtc/modules/desktop_capture/screen_capturer.h"
+
+namespace remoting {
+
+Me2MeWindowDesktopEnvironment::~Me2MeWindowDesktopEnvironment() {
+ DCHECK(caller_task_runner()->BelongsToCurrentThread());
Wez 2014/08/01 23:41:54 ~BasicDesktopEnvironment already checks this.
ronakvora do not use 2014/08/05 19:54:50 Removed.
+}
+
+scoped_ptr<webrtc::ScreenCapturer>
+Me2MeWindowDesktopEnvironment::CreateVideoCapturer() {
+ LOG(INFO) << "video capturer created";
Wez 2014/08/01 23:41:54 Remove this log line.
ronakvora do not use 2014/08/05 19:54:50 Done.
+ DCHECK(caller_task_runner()->BelongsToCurrentThread());
Wez 2014/08/01 23:41:54 Please add blank lines to break this function up i
ronakvora do not use 2014/08/05 19:54:49 Done. I also refactored the SetWindow method of Wi
+ webrtc::DesktopCaptureOptions options =
+ webrtc::DesktopCaptureOptions::CreateDefault();
+ options.set_use_update_notifications(true);
+ // change this to the wrapper class
+ scoped_ptr<remoting::WindowCapturerScreenWrapper>window_capturer(
+ new WindowCapturerScreenWrapper());
+ window_capturer->SetWindow(options);
+ window_capturer->SelectWindow(windowIdEnvironment_);
+ return window_capturer.PassAs<webrtc::ScreenCapturer>();
+}
+
+scoped_ptr<InputInjector> Me2MeWindowDesktopEnvironment::CreateInputInjector() {
+ DCHECK(caller_task_runner()->BelongsToCurrentThread());
+ // TODO(sidj, sskhandp) Create a WindowInputInjectorMac and instantiate
+ // that instead.
+ return InputInjector::CreateForWindow(input_task_runner(),
+ ui_task_runner(),
+ windowIdEnvironment_);
+}
+
+Me2MeWindowDesktopEnvironment::Me2MeWindowDesktopEnvironment(
+ scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
+ scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
+ scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner)
+ : BasicDesktopEnvironment(caller_task_runner,
+ input_task_runner,
+ ui_task_runner) {
+ DCHECK(caller_task_runner->BelongsToCurrentThread());
Wez 2014/08/01 23:41:54 This check probably belongs in the BasicDesktopEnv
ronakvora do not use 2014/08/05 19:54:49 Removed.
+}
+
+void Me2MeWindowDesktopEnvironment::SetWindowId
+ (webrtc::WindowId windowIdEnvironment) {
Wez 2014/08/01 23:41:54 Wrap after the ( not before.
Wez 2014/08/01 23:41:54 Check the thread here.
ronakvora do not use 2014/08/05 19:54:50 Done.
ronakvora do not use 2014/08/05 19:54:50 Done.
+ windowIdEnvironment_ = windowIdEnvironment;
+}
+
+Me2MeWindowDesktopEnvironmentFactory::Me2MeWindowDesktopEnvironmentFactory(
+ scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
+ scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
+ scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
+ webrtc::WindowId windowId)
+ : BasicDesktopEnvironmentFactory(caller_task_runner,
+ input_task_runner,
+ ui_task_runner) {
+ windowIdEnvironmentFactory_ = windowId;
+}
+
+Me2MeWindowDesktopEnvironmentFactory::~Me2MeWindowDesktopEnvironmentFactory() {
+}
+
+scoped_ptr<DesktopEnvironment> Me2MeWindowDesktopEnvironmentFactory::Create(
+ base::WeakPtr<ClientSessionControl> client_session_control) {
+ LOG(INFO) << "desktop environment created";
Wez 2014/08/01 23:41:54 nit: Remove this logging.
ronakvora do not use 2014/08/05 19:54:49 Done.
+ DCHECK(caller_task_runner()->BelongsToCurrentThread());
+
+ scoped_ptr<Me2MeWindowDesktopEnvironment> desktop_environment(
+ new Me2MeWindowDesktopEnvironment(caller_task_runner(),
+ input_task_runner(),
+ ui_task_runner()));
+ desktop_environment->SetWindowId(windowIdEnvironmentFactory_);
+ return desktop_environment.PassAs<DesktopEnvironment>();
+}
+
+} // namespace remoting

Powered by Google App Engine
This is Rietveld 408576698