summaryrefslogtreecommitdiffstats
path: root/remoting
diff options
context:
space:
mode:
authorkelvinp <kelvinp@chromium.org>2014-11-10 19:18:04 -0800
committerCommit bot <commit-bot@chromium.org>2014-11-11 03:18:31 +0000
commita7aa648b4726884717287ac12b284cfd6054e49f (patch)
tree1ba0b4481d17bf859cfeaacd3f25a57e7fd5f65a /remoting
parent1d3fbc02ea36d1054ed570bdf2fdb2d46e88e9ba (diff)
downloadchromium_src-a7aa648b4726884717287ac12b284cfd6054e49f.zip
chromium_src-a7aa648b4726884717287ac12b284cfd6054e49f.tar.gz
chromium_src-a7aa648b4726884717287ac12b284cfd6054e49f.tar.bz2
Revert of Remote assistance on Chrome OS Part VIII - Compile on Ozone
This reverts commit 1d3fbc02ea36d1054ed570bdf2fdb2d46e88e9ba. Reason for revert: Build failure on http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20GN/builds/877/steps/steps/logs/stdio TBR=kelvinp NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/703143004 Cr-Commit-Position: refs/heads/master@{#303579}
Diffstat (limited to 'remoting')
-rw-r--r--remoting/host/basic_desktop_environment.cc8
-rw-r--r--remoting/host/chromeos/mouse_cursor_monitor_aura.cc35
-rw-r--r--remoting/host/chromeos/mouse_cursor_monitor_aura.h32
-rw-r--r--remoting/host/clipboard_aura.cc (renamed from remoting/host/chromeos/clipboard_aura.cc)2
-rw-r--r--remoting/host/clipboard_aura.h (renamed from remoting/host/chromeos/clipboard_aura.h)0
-rw-r--r--remoting/host/clipboard_aura_unittest.cc (renamed from remoting/host/chromeos/clipboard_aura_unittest.cc)2
-rw-r--r--remoting/host/desktop_shape_tracker_x11.cc (renamed from remoting/host/desktop_shape_tracker_linux.cc)0
-rw-r--r--remoting/host/input_injector_chromeos.cc58
-rw-r--r--remoting/host/input_injector_chromeos.h42
-rw-r--r--remoting/host/input_injector_linux.cc (renamed from remoting/host/input_injector_x11.cc)66
-rw-r--r--remoting/host/local_input_monitor_chromeos.cc143
-rw-r--r--remoting/host/local_input_monitor_linux.cc (renamed from remoting/host/local_input_monitor_x11.cc)36
-rw-r--r--remoting/remoting_host.gypi77
-rw-r--r--remoting/remoting_test.gypi6
14 files changed, 86 insertions, 421 deletions
diff --git a/remoting/host/basic_desktop_environment.cc b/remoting/host/basic_desktop_environment.cc
index 174248a..a5398bb 100644
--- a/remoting/host/basic_desktop_environment.cc
+++ b/remoting/host/basic_desktop_environment.cc
@@ -11,9 +11,6 @@
#if defined(OS_CHROMEOS)
#include "remoting/host/chromeos/aura_desktop_capturer.h"
#endif
-#if defined(OS_CHROMEOS) && defined(USE_OZONE)
-#include "remoting/host/chromeos/mouse_cursor_monitor_aura.h"
-#endif
#include "remoting/host/client_session_control.h"
#include "remoting/host/gnubby_auth_handler.h"
#include "remoting/host/input_injector.h"
@@ -48,13 +45,8 @@ scoped_ptr<ScreenControls> BasicDesktopEnvironment::CreateScreenControls() {
scoped_ptr<webrtc::MouseCursorMonitor>
BasicDesktopEnvironment::CreateMouseCursorMonitor() {
-#if defined(OS_CHROMEOS) && defined(USE_OZONE)
- return make_scoped_ptr(
- new MouseCursorMonitorAura(*desktop_capture_options_));
-#else
return make_scoped_ptr(webrtc::MouseCursorMonitor::CreateForScreen(
*desktop_capture_options_, webrtc::kFullDesktopScreenId));
-#endif
}
std::string BasicDesktopEnvironment::GetCapabilities() const {
diff --git a/remoting/host/chromeos/mouse_cursor_monitor_aura.cc b/remoting/host/chromeos/mouse_cursor_monitor_aura.cc
deleted file mode 100644
index 68b89a8..0000000
--- a/remoting/host/chromeos/mouse_cursor_monitor_aura.cc
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 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/chromeos/mouse_cursor_monitor_aura.h"
-
-#include "base/logging.h"
-
-namespace remoting {
-
-MouseCursorMonitorAura::MouseCursorMonitorAura(
- const webrtc::DesktopCaptureOptions& options)
- : callback_(nullptr),
- mode_(SHAPE_AND_POSITION) {
-}
-
-MouseCursorMonitorAura::~MouseCursorMonitorAura() {
- NOTIMPLEMENTED();
-}
-
-void MouseCursorMonitorAura::Init(Callback* callback, Mode mode) {
- DCHECK(!callback_);
- DCHECK(callback);
-
- callback_ = callback;
- mode_ = mode;
-
- NOTIMPLEMENTED();
-}
-
-void MouseCursorMonitorAura::Capture() {
- NOTIMPLEMENTED();
-}
-
-} // namespace remoting
diff --git a/remoting/host/chromeos/mouse_cursor_monitor_aura.h b/remoting/host/chromeos/mouse_cursor_monitor_aura.h
deleted file mode 100644
index 687daf5..0000000
--- a/remoting/host/chromeos/mouse_cursor_monitor_aura.h
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 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.
-
-#ifndef REMOTING_HOST_CHROMEOS_MOUSE_CURSOR_MONITOR_AURA_H_
-#define REMOTING_HOST_CHROMEOS_MOUSE_CURSOR_MONITOR_AURA_H_
-
-#include "third_party/webrtc/modules/desktop_capture/desktop_capture_options.h"
-#include "third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor.h"
-
-namespace remoting {
-
-// A MouseCursorMonitor place holder implementation for Chrome OS with ozone.
-// TODO(kelvinp): Implement this (See crbug.com/431457).
-class MouseCursorMonitorAura : public webrtc::MouseCursorMonitor {
- public:
- explicit MouseCursorMonitorAura(const webrtc::DesktopCaptureOptions& options);
- ~MouseCursorMonitorAura() override;
-
- void Init(Callback* callback, Mode mode) override;
- void Capture() override;
-
- private:
- Callback* callback_;
- Mode mode_;
-
- DISALLOW_COPY_AND_ASSIGN(MouseCursorMonitorAura);
-};
-
-} // namespace remoting
-
-#endif // REMOTING_HOST_CHROMEOS_MOUSE_CURSOR_MONITOR_AURA_H_
diff --git a/remoting/host/chromeos/clipboard_aura.cc b/remoting/host/clipboard_aura.cc
index 7fca2df..2fd3be0 100644
--- a/remoting/host/chromeos/clipboard_aura.cc
+++ b/remoting/host/clipboard_aura.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "remoting/host/chromeos/clipboard_aura.h"
+#include "remoting/host/clipboard_aura.h"
#include "base/strings/utf_string_conversions.h"
#include "base/timer/timer.h"
diff --git a/remoting/host/chromeos/clipboard_aura.h b/remoting/host/clipboard_aura.h
index 9907fb6d..9907fb6d 100644
--- a/remoting/host/chromeos/clipboard_aura.h
+++ b/remoting/host/clipboard_aura.h
diff --git a/remoting/host/chromeos/clipboard_aura_unittest.cc b/remoting/host/clipboard_aura_unittest.cc
index 5201c11..8993592 100644
--- a/remoting/host/chromeos/clipboard_aura_unittest.cc
+++ b/remoting/host/clipboard_aura_unittest.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "remoting/host/chromeos/clipboard_aura.h"
+#include "remoting/host/clipboard_aura.h"
#include "base/bind.h"
#include "base/bind_helpers.h"
diff --git a/remoting/host/desktop_shape_tracker_linux.cc b/remoting/host/desktop_shape_tracker_x11.cc
index 1149ad0..1149ad0 100644
--- a/remoting/host/desktop_shape_tracker_linux.cc
+++ b/remoting/host/desktop_shape_tracker_x11.cc
diff --git a/remoting/host/input_injector_chromeos.cc b/remoting/host/input_injector_chromeos.cc
deleted file mode 100644
index a18b1cd..0000000
--- a/remoting/host/input_injector_chromeos.cc
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 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/input_injector_chromeos.h"
-
-#include "base/logging.h"
-#include "remoting/proto/internal.pb.h"
-
-namespace remoting {
-
-using protocol::ClipboardEvent;
-using protocol::KeyEvent;
-using protocol::MouseEvent;
-using protocol::TextEvent;
-
-// TODO(kelvinp): Implement this class (See crbug.com/426716).
-InputInjectorChromeos::InputInjectorChromeos(
- scoped_refptr<base::SingleThreadTaskRunner> task_runner)
- : input_task_runner_(task_runner) {
- NOTIMPLEMENTED();
-}
-
-InputInjectorChromeos::~InputInjectorChromeos() {
- NOTIMPLEMENTED();
-}
-
-void InputInjectorChromeos::InjectClipboardEvent(const ClipboardEvent& event) {
- NOTIMPLEMENTED();
-}
-
-void InputInjectorChromeos::InjectKeyEvent(const KeyEvent& event) {
- NOTIMPLEMENTED();
-}
-
-void InputInjectorChromeos::InjectTextEvent(const TextEvent& event) {
- NOTIMPLEMENTED();
-}
-
-void InputInjectorChromeos::InjectMouseEvent(const MouseEvent& event) {
- NOTIMPLEMENTED();
-}
-
-void InputInjectorChromeos::Start(
- scoped_ptr<protocol::ClipboardStub> client_clipboard) {
- NOTIMPLEMENTED();
-}
-
-// static
-scoped_ptr<InputInjector> InputInjector::Create(
- scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
- scoped_ptr<InputInjectorChromeos> injector(new InputInjectorChromeos(
- ui_task_runner));
- return injector.Pass();
-}
-
-} // namespace remoting
diff --git a/remoting/host/input_injector_chromeos.h b/remoting/host/input_injector_chromeos.h
deleted file mode 100644
index 7670591..0000000
--- a/remoting/host/input_injector_chromeos.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 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.
-
-#ifndef REMOTING_HOST_INPUT_INJECTOR_CHROMEOS_H_
-#define REMOTING_HOST_INPUT_INJECTOR_CHROMEOS_H_
-
-#include "base/single_thread_task_runner.h"
-#include "remoting/host/input_injector.h"
-
-namespace remoting {
-
-// InputInjector implementation that translates input to ui::Events and passes
-// them to a supplied delegate for injection into ChromeOS.
-class InputInjectorChromeos : public InputInjector {
- public:
- explicit InputInjectorChromeos(
- scoped_refptr<base::SingleThreadTaskRunner> task_runner);
-
- ~InputInjectorChromeos() override;
-
- // Clipboard stub interface.
- void InjectClipboardEvent(const protocol::ClipboardEvent& event) override;
-
- // InputStub interface.
- void InjectKeyEvent(const protocol::KeyEvent& event) override;
- void InjectTextEvent(const protocol::TextEvent& event) override;
- void InjectMouseEvent(const protocol::MouseEvent& event) override;
-
- // InputInjector interface.
- void Start(scoped_ptr<protocol::ClipboardStub> client_clipboard) override;
-
- private:
- // Task runner for input injection.
- scoped_refptr<base::SingleThreadTaskRunner> input_task_runner_;
-
- DISALLOW_COPY_AND_ASSIGN(InputInjectorChromeos);
-};
-
-} // namespace remoting
-
-#endif // REMOTING_HOST_INPUT_INJECTOR_CHROMEOS_H_ \ No newline at end of file
diff --git a/remoting/host/input_injector_x11.cc b/remoting/host/input_injector_linux.cc
index 3b5d2b4..523c71d 100644
--- a/remoting/host/input_injector_x11.cc
+++ b/remoting/host/input_injector_linux.cc
@@ -87,12 +87,12 @@ bool FindKeycodeForUnicode(Display* display,
// From third_party/WebKit/Source/web/gtk/WebInputEventFactory.cpp .
const float kWheelTicksPerPixel = 3.0f / 160.0f;
-// A class to generate events on X11.
-class InputInjectorX11 : public InputInjector {
+// A class to generate events on Linux.
+class InputInjectorLinux : public InputInjector {
public:
- explicit InputInjectorX11(
+ explicit InputInjectorLinux(
scoped_refptr<base::SingleThreadTaskRunner> task_runner);
- ~InputInjectorX11() override;
+ ~InputInjectorLinux() override;
bool Init();
@@ -108,7 +108,7 @@ class InputInjectorX11 : public InputInjector {
void Start(scoped_ptr<protocol::ClipboardStub> client_clipboard) override;
private:
- // The actual implementation resides in InputInjectorX11::Core class.
+ // The actual implementation resides in InputInjectorLinux::Core class.
class Core : public base::RefCountedThreadSafe<Core> {
public:
explicit Core(scoped_refptr<base::SingleThreadTaskRunner> task_runner);
@@ -180,44 +180,44 @@ class InputInjectorX11 : public InputInjector {
scoped_refptr<Core> core_;
- DISALLOW_COPY_AND_ASSIGN(InputInjectorX11);
+ DISALLOW_COPY_AND_ASSIGN(InputInjectorLinux);
};
-InputInjectorX11::InputInjectorX11(
+InputInjectorLinux::InputInjectorLinux(
scoped_refptr<base::SingleThreadTaskRunner> task_runner) {
core_ = new Core(task_runner);
}
-InputInjectorX11::~InputInjectorX11() {
+InputInjectorLinux::~InputInjectorLinux() {
core_->Stop();
}
-bool InputInjectorX11::Init() {
+bool InputInjectorLinux::Init() {
return core_->Init();
}
-void InputInjectorX11::InjectClipboardEvent(const ClipboardEvent& event) {
+void InputInjectorLinux::InjectClipboardEvent(const ClipboardEvent& event) {
core_->InjectClipboardEvent(event);
}
-void InputInjectorX11::InjectKeyEvent(const KeyEvent& event) {
+void InputInjectorLinux::InjectKeyEvent(const KeyEvent& event) {
core_->InjectKeyEvent(event);
}
-void InputInjectorX11::InjectTextEvent(const TextEvent& event) {
+void InputInjectorLinux::InjectTextEvent(const TextEvent& event) {
core_->InjectTextEvent(event);
}
-void InputInjectorX11::InjectMouseEvent(const MouseEvent& event) {
+void InputInjectorLinux::InjectMouseEvent(const MouseEvent& event) {
core_->InjectMouseEvent(event);
}
-void InputInjectorX11::Start(
+void InputInjectorLinux::Start(
scoped_ptr<protocol::ClipboardStub> client_clipboard) {
core_->Start(client_clipboard.Pass());
}
-InputInjectorX11::Core::Core(
+InputInjectorLinux::Core::Core(
scoped_refptr<base::SingleThreadTaskRunner> task_runner)
: task_runner_(task_runner),
latest_mouse_position_(-1, -1),
@@ -228,7 +228,7 @@ InputInjectorX11::Core::Core(
saved_auto_repeat_enabled_(false) {
}
-bool InputInjectorX11::Core::Init() {
+bool InputInjectorLinux::Core::Init() {
CHECK(display_);
if (!task_runner_->BelongsToCurrentThread())
@@ -252,7 +252,7 @@ bool InputInjectorX11::Core::Init() {
return true;
}
-void InputInjectorX11::Core::InjectClipboardEvent(
+void InputInjectorLinux::Core::InjectClipboardEvent(
const ClipboardEvent& event) {
if (!task_runner_->BelongsToCurrentThread()) {
task_runner_->PostTask(
@@ -264,7 +264,7 @@ void InputInjectorX11::Core::InjectClipboardEvent(
clipboard_->InjectClipboardEvent(event);
}
-void InputInjectorX11::Core::InjectKeyEvent(const KeyEvent& event) {
+void InputInjectorLinux::Core::InjectKeyEvent(const KeyEvent& event) {
// HostEventDispatcher should filter events missing the pressed field.
if (!event.has_pressed() || !event.has_usb_keycode())
return;
@@ -313,7 +313,7 @@ void InputInjectorX11::Core::InjectKeyEvent(const KeyEvent& event) {
XFlush(display_);
}
-void InputInjectorX11::Core::InjectTextEvent(const TextEvent& event) {
+void InputInjectorLinux::Core::InjectTextEvent(const TextEvent& event) {
if (!task_runner_->BelongsToCurrentThread()) {
task_runner_->PostTask(FROM_HERE,
base::Bind(&Core::InjectTextEvent, this, event));
@@ -344,16 +344,16 @@ void InputInjectorX11::Core::InjectTextEvent(const TextEvent& event) {
XFlush(display_);
}
-InputInjectorX11::Core::~Core() {
+InputInjectorLinux::Core::~Core() {
CHECK(pressed_keys_.empty());
}
-void InputInjectorX11::Core::InitClipboard() {
+void InputInjectorLinux::Core::InitClipboard() {
DCHECK(task_runner_->BelongsToCurrentThread());
clipboard_ = Clipboard::Create();
}
-bool InputInjectorX11::Core::IsAutoRepeatEnabled() {
+bool InputInjectorLinux::Core::IsAutoRepeatEnabled() {
XKeyboardState state;
if (!XGetKeyboardControl(display_, &state)) {
LOG(ERROR) << "Failed to get keyboard auto-repeat status, assuming ON.";
@@ -362,13 +362,13 @@ bool InputInjectorX11::Core::IsAutoRepeatEnabled() {
return state.global_auto_repeat == AutoRepeatModeOn;
}
-void InputInjectorX11::Core::SetAutoRepeatEnabled(bool mode) {
+void InputInjectorLinux::Core::SetAutoRepeatEnabled(bool mode) {
XKeyboardControl control;
control.auto_repeat_mode = mode ? AutoRepeatModeOn : AutoRepeatModeOff;
XChangeKeyboardControl(display_, KBAutoRepeatMode, &control);
}
-void InputInjectorX11::Core::InjectScrollWheelClicks(int button, int count) {
+void InputInjectorLinux::Core::InjectScrollWheelClicks(int button, int count) {
if (button < 0) {
LOG(WARNING) << "Ignoring unmapped scroll wheel button";
return;
@@ -380,7 +380,7 @@ void InputInjectorX11::Core::InjectScrollWheelClicks(int button, int count) {
}
}
-void InputInjectorX11::Core::InjectMouseEvent(const MouseEvent& event) {
+void InputInjectorLinux::Core::InjectMouseEvent(const MouseEvent& event) {
if (!task_runner_->BelongsToCurrentThread()) {
task_runner_->PostTask(FROM_HERE,
base::Bind(&Core::InjectMouseEvent, this, event));
@@ -471,7 +471,7 @@ void InputInjectorX11::Core::InjectMouseEvent(const MouseEvent& event) {
XFlush(display_);
}
-void InputInjectorX11::Core::InitMouseButtonMap() {
+void InputInjectorLinux::Core::InitMouseButtonMap() {
// TODO(rmsousa): Run this on global/device mapping change events.
// Do not touch global pointer mapping, since this may affect the local user.
@@ -547,7 +547,7 @@ void InputInjectorX11::Core::InitMouseButtonMap() {
XCloseDevice(display_, device);
}
-int InputInjectorX11::Core::MouseButtonToX11ButtonNumber(
+int InputInjectorLinux::Core::MouseButtonToX11ButtonNumber(
MouseEvent::MouseButton button) {
switch (button) {
case MouseEvent::BUTTON_LEFT:
@@ -565,17 +565,17 @@ int InputInjectorX11::Core::MouseButtonToX11ButtonNumber(
}
}
-int InputInjectorX11::Core::HorizontalScrollWheelToX11ButtonNumber(int dx) {
+int InputInjectorLinux::Core::HorizontalScrollWheelToX11ButtonNumber(int dx) {
return (dx > 0 ? pointer_button_map_[5] : pointer_button_map_[6]);
}
-int InputInjectorX11::Core::VerticalScrollWheelToX11ButtonNumber(int dy) {
+int InputInjectorLinux::Core::VerticalScrollWheelToX11ButtonNumber(int dy) {
// Positive y-values are wheel scroll-up events (button 4), negative y-values
// are wheel scroll-down events (button 5).
return (dy > 0 ? pointer_button_map_[3] : pointer_button_map_[4]);
}
-void InputInjectorX11::Core::Start(
+void InputInjectorLinux::Core::Start(
scoped_ptr<protocol::ClipboardStub> client_clipboard) {
if (!task_runner_->BelongsToCurrentThread()) {
task_runner_->PostTask(
@@ -589,7 +589,7 @@ void InputInjectorX11::Core::Start(
clipboard_->Start(client_clipboard.Pass());
}
-void InputInjectorX11::Core::Stop() {
+void InputInjectorLinux::Core::Stop() {
if (!task_runner_->BelongsToCurrentThread()) {
task_runner_->PostTask(FROM_HERE, base::Bind(&Core::Stop, this));
return;
@@ -603,8 +603,8 @@ void InputInjectorX11::Core::Stop() {
scoped_ptr<InputInjector> InputInjector::Create(
scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) {
- scoped_ptr<InputInjectorX11> injector(
- new InputInjectorX11(main_task_runner));
+ scoped_ptr<InputInjectorLinux> injector(
+ new InputInjectorLinux(main_task_runner));
if (!injector->Init())
return nullptr;
return injector.Pass();
diff --git a/remoting/host/local_input_monitor_chromeos.cc b/remoting/host/local_input_monitor_chromeos.cc
deleted file mode 100644
index abd7651..0000000
--- a/remoting/host/local_input_monitor_chromeos.cc
+++ /dev/null
@@ -1,143 +0,0 @@
-// Copyright 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/local_input_monitor.h"
-
-#include "base/bind.h"
-#include "base/callback.h"
-#include "base/location.h"
-#include "base/single_thread_task_runner.h"
-#include "base/threading/non_thread_safe.h"
-#include "remoting/host/client_session_control.h"
-#include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
-#include "ui/events/event.h"
-#include "ui/events/event_utils.h"
-#include "ui/events/keycodes/keyboard_codes.h"
-#include "ui/events/platform/platform_event_observer.h"
-#include "ui/events/platform/platform_event_source.h"
-
-namespace remoting {
-
-namespace {
-
-class LocalInputMonitorChromeos : public LocalInputMonitor {
- public:
- LocalInputMonitorChromeos(
- scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
- base::WeakPtr<ClientSessionControl> client_session_control);
- virtual ~LocalInputMonitorChromeos();
-
- private:
- class Core : ui::PlatformEventObserver {
- public:
- Core(scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
- base::WeakPtr<ClientSessionControl> client_session_control);
- ~Core();
-
- void Start();
-
- // ui::PlatformEventObserver interface.
- void WillProcessEvent(const ui::PlatformEvent& event) override;
- void DidProcessEvent(const ui::PlatformEvent& event) override;
-
- private:
- void HandleMouseMove(const ui::PlatformEvent& event);
- void HandleKeyPressed(const ui::PlatformEvent& event);
-
- scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner_;
-
- // Points to the object receiving mouse event notifications and session
- // disconnect requests. Must be called on the |caller_task_runner_|.
- base::WeakPtr<ClientSessionControl> client_session_control_;
-
- DISALLOW_COPY_AND_ASSIGN(Core);
- };
-
- // Task runner on which ui::events are received.
- scoped_refptr<base::SingleThreadTaskRunner> input_task_runner_;
- scoped_ptr<Core> core_;
-
- DISALLOW_COPY_AND_ASSIGN(LocalInputMonitorChromeos);
-};
-
-LocalInputMonitorChromeos::LocalInputMonitorChromeos(
- scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
- base::WeakPtr<ClientSessionControl> client_session_control)
- : input_task_runner_(input_task_runner),
- core_(new Core(caller_task_runner, client_session_control)) {
- input_task_runner_->PostTask(
- FROM_HERE, base::Bind(&Core::Start, base::Unretained(core_.get())));
-}
-
-LocalInputMonitorChromeos::~LocalInputMonitorChromeos() {
- input_task_runner_->DeleteSoon(FROM_HERE, core_.release());
-}
-
-LocalInputMonitorChromeos::Core::Core(
- scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
- base::WeakPtr<ClientSessionControl> client_session_control)
- : caller_task_runner_(caller_task_runner),
- client_session_control_(client_session_control) {
- DCHECK(client_session_control_.get());
-}
-
-void LocalInputMonitorChromeos::Core::Start() {
- ui::PlatformEventSource::GetInstance()->AddPlatformEventObserver(this);
-}
-
-LocalInputMonitorChromeos::Core::~Core() {
- ui::PlatformEventSource::GetInstance()->RemovePlatformEventObserver(this);
-}
-
-void LocalInputMonitorChromeos::Core::WillProcessEvent(
- const ui::PlatformEvent& event) {
- // No need to handle this callback.
-}
-
-void LocalInputMonitorChromeos::Core::DidProcessEvent(
- const ui::PlatformEvent& event) {
- ui::EventType type = ui::EventTypeFromNative(event);
- if (type == ui::ET_MOUSE_MOVED) {
- HandleMouseMove(event);
- } else if (type == ui::ET_KEY_PRESSED) {
- HandleKeyPressed(event);
- }
-}
-
-void LocalInputMonitorChromeos::Core::HandleMouseMove(
- const ui::PlatformEvent& event) {
- gfx::Point mouse_position = ui::EventLocationFromNative(event);
- caller_task_runner_->PostTask(
- FROM_HERE,
- base::Bind(
- &ClientSessionControl::OnLocalMouseMoved, client_session_control_,
- webrtc::DesktopVector(mouse_position.x(), mouse_position.y())));
-}
-
-void LocalInputMonitorChromeos::Core::HandleKeyPressed(
- const ui::PlatformEvent& event) {
- ui::KeyEvent key_event(event);
- DCHECK(key_event.is_char());
- if (key_event.IsControlDown() && key_event.IsAltDown() &&
- key_event.key_code() == ui::VKEY_ESCAPE) {
- caller_task_runner_->PostTask(
- FROM_HERE, base::Bind(&ClientSessionControl::DisconnectSession,
- client_session_control_));
- }
-}
-
-} // namespace
-
-scoped_ptr<LocalInputMonitor> LocalInputMonitor::Create(
- scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
- scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
- base::WeakPtr<ClientSessionControl> client_session_control) {
- return make_scoped_ptr(new LocalInputMonitorChromeos(
- caller_task_runner, input_task_runner, client_session_control));
-}
-
-} // namespace remoting
diff --git a/remoting/host/local_input_monitor_x11.cc b/remoting/host/local_input_monitor_linux.cc
index 1da192f..b0493dd 100644
--- a/remoting/host/local_input_monitor_x11.cc
+++ b/remoting/host/local_input_monitor_linux.cc
@@ -32,17 +32,17 @@ namespace remoting {
namespace {
-class LocalInputMonitorX11 : public base::NonThreadSafe,
+class LocalInputMonitorLinux : public base::NonThreadSafe,
public LocalInputMonitor {
public:
- LocalInputMonitorX11(
+ LocalInputMonitorLinux(
scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
base::WeakPtr<ClientSessionControl> client_session_control);
- ~LocalInputMonitorX11() override;
+ ~LocalInputMonitorLinux() override;
private:
- // The actual implementation resides in LocalInputMonitorX11::Core class.
+ // The actual implementation resides in LocalInputMonitorLinux::Core class.
class Core
: public base::RefCountedThreadSafe<Core>,
public base::MessagePumpLibevent::Watcher {
@@ -99,10 +99,10 @@ class LocalInputMonitorX11 : public base::NonThreadSafe,
scoped_refptr<Core> core_;
- DISALLOW_COPY_AND_ASSIGN(LocalInputMonitorX11);
+ DISALLOW_COPY_AND_ASSIGN(LocalInputMonitorLinux);
};
-LocalInputMonitorX11::LocalInputMonitorX11(
+LocalInputMonitorLinux::LocalInputMonitorLinux(
scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
base::WeakPtr<ClientSessionControl> client_session_control)
@@ -112,11 +112,11 @@ LocalInputMonitorX11::LocalInputMonitorX11(
core_->Start();
}
-LocalInputMonitorX11::~LocalInputMonitorX11() {
+LocalInputMonitorLinux::~LocalInputMonitorLinux() {
core_->Stop();
}
-LocalInputMonitorX11::Core::Core(
+LocalInputMonitorLinux::Core::Core(
scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
base::WeakPtr<ClientSessionControl> client_session_control)
@@ -135,21 +135,21 @@ LocalInputMonitorX11::Core::Core(
x_record_range_[1] = NULL;
}
-void LocalInputMonitorX11::Core::Start() {
+void LocalInputMonitorLinux::Core::Start() {
DCHECK(caller_task_runner_->BelongsToCurrentThread());
input_task_runner_->PostTask(FROM_HERE,
base::Bind(&Core::StartOnInputThread, this));
}
-void LocalInputMonitorX11::Core::Stop() {
+void LocalInputMonitorLinux::Core::Stop() {
DCHECK(caller_task_runner_->BelongsToCurrentThread());
input_task_runner_->PostTask(FROM_HERE,
base::Bind(&Core::StopOnInputThread, this));
}
-LocalInputMonitorX11::Core::~Core() {
+LocalInputMonitorLinux::Core::~Core() {
DCHECK(!display_);
DCHECK(!x_record_display_);
DCHECK(!x_record_range_[0]);
@@ -157,7 +157,7 @@ LocalInputMonitorX11::Core::~Core() {
DCHECK(!x_record_context_);
}
-void LocalInputMonitorX11::Core::StartOnInputThread() {
+void LocalInputMonitorLinux::Core::StartOnInputThread() {
DCHECK(input_task_runner_->BelongsToCurrentThread());
DCHECK(!display_);
DCHECK(!x_record_display_);
@@ -231,7 +231,7 @@ void LocalInputMonitorX11::Core::StartOnInputThread() {
}
}
-void LocalInputMonitorX11::Core::StopOnInputThread() {
+void LocalInputMonitorLinux::Core::StopOnInputThread() {
DCHECK(input_task_runner_->BelongsToCurrentThread());
// Context must be disabled via the control channel because we can't send
@@ -265,7 +265,7 @@ void LocalInputMonitorX11::Core::StopOnInputThread() {
}
}
-void LocalInputMonitorX11::Core::OnFileCanReadWithoutBlocking(int fd) {
+void LocalInputMonitorLinux::Core::OnFileCanReadWithoutBlocking(int fd) {
DCHECK(input_task_runner_->BelongsToCurrentThread());
// Fetch pending events if any.
@@ -275,11 +275,11 @@ void LocalInputMonitorX11::Core::OnFileCanReadWithoutBlocking(int fd) {
}
}
-void LocalInputMonitorX11::Core::OnFileCanWriteWithoutBlocking(int fd) {
+void LocalInputMonitorLinux::Core::OnFileCanWriteWithoutBlocking(int fd) {
NOTREACHED();
}
-void LocalInputMonitorX11::Core::ProcessXEvent(xEvent* event) {
+void LocalInputMonitorLinux::Core::ProcessXEvent(xEvent* event) {
DCHECK(input_task_runner_->BelongsToCurrentThread());
if (event->u.u.type == MotionNotify) {
@@ -306,7 +306,7 @@ void LocalInputMonitorX11::Core::ProcessXEvent(xEvent* event) {
}
// static
-void LocalInputMonitorX11::Core::ProcessReply(XPointer self,
+void LocalInputMonitorLinux::Core::ProcessReply(XPointer self,
XRecordInterceptData* data) {
if (data->category == XRecordFromServer) {
xEvent* event = reinterpret_cast<xEvent*>(data->data);
@@ -322,7 +322,7 @@ scoped_ptr<LocalInputMonitor> LocalInputMonitor::Create(
scoped_refptr<base::SingleThreadTaskRunner> input_task_runner,
scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner,
base::WeakPtr<ClientSessionControl> client_session_control) {
- return make_scoped_ptr(new LocalInputMonitorX11(
+ return make_scoped_ptr(new LocalInputMonitorLinux(
caller_task_runner, input_task_runner, client_session_control));
}
diff --git a/remoting/remoting_host.gypi b/remoting/remoting_host.gypi
index 5f08c2a..60e0c38 100644
--- a/remoting/remoting_host.gypi
+++ b/remoting/remoting_host.gypi
@@ -21,8 +21,7 @@
'enable_it2me_host': 0,
'enable_remoting_host': 0,
}],
- ['chromeos==1', {
- 'enable_remoting_host': 1,
+ ['chromeos==1 and use_x11==1', {
'enable_me2me_host': 0,
'enable_it2me_host': 1,
}],
@@ -75,12 +74,8 @@
'host/capture_scheduler.h',
'host/chromeos/aura_desktop_capturer.cc',
'host/chromeos/aura_desktop_capturer.h',
- 'host/chromeos/clipboard_aura.cc',
- 'host/chromeos/clipboard_aura.h',
'host/chromeos/message_box.cc',
'host/chromeos/message_box.h',
- 'host/chromeos/mouse_cursor_monitor_aura.cc',
- 'host/chromeos/mouse_cursor_monitor_aura.h',
'host/chromium_port_allocator_factory.cc',
'host/chromium_port_allocator_factory.h',
'host/chromoting_host.cc',
@@ -95,6 +90,8 @@
'host/client_session.h',
'host/client_session_control.h',
'host/clipboard.h',
+ 'host/clipboard_aura.cc',
+ 'host/clipboard_aura.h',
'host/clipboard_mac.mm',
'host/clipboard_win.cc',
'host/clipboard_x11.cc',
@@ -131,7 +128,7 @@
'host/desktop_shape_tracker.h',
'host/desktop_shape_tracker_mac.cc',
'host/desktop_shape_tracker_win.cc',
- 'host/desktop_shape_tracker_linux.cc',
+ 'host/desktop_shape_tracker_x11.cc',
'host/disconnect_window_chromeos.cc',
'host/disconnect_window_linux.cc',
'host/disconnect_window_mac.h',
@@ -176,11 +173,9 @@
'host/in_memory_host_config.cc',
'host/in_memory_host_config.h',
'host/input_injector.h',
- 'host/input_injector_chromeos.cc',
- 'host/input_injector_chromeos.h',
+ 'host/input_injector_linux.cc',
'host/input_injector_mac.cc',
'host/input_injector_win.cc',
- 'host/input_injector_x11.cc',
'host/ipc_audio_capturer.cc',
'host/ipc_audio_capturer.h',
'host/ipc_constants.cc',
@@ -213,11 +208,9 @@
'host/linux/x_server_clipboard.cc',
'host/linux/x_server_clipboard.h',
'host/local_input_monitor.h',
- 'host/local_input_monitor_chromeos.cc',
- 'host/local_input_monitor_chromeos.h',
+ 'host/local_input_monitor_linux.cc',
'host/local_input_monitor_mac.mm',
'host/local_input_monitor_win.cc',
- 'host/local_input_monitor_x11.cc',
'host/logging.h',
'host/logging_posix.cc',
'host/logging_win.cc',
@@ -310,23 +303,13 @@
],
'conditions': [
['OS=="linux"', {
- 'conditions': [
- ['use_x11==1', {
- 'dependencies': [
- '../build/linux/system.gyp:x11',
- '../build/linux/system.gyp:xext',
- '../build/linux/system.gyp:xfixes',
- '../build/linux/system.gyp:xi',
- '../build/linux/system.gyp:xrandr',
- '../build/linux/system.gyp:xtst',
- ],
- }],
- ['chromeos==0 and use_ozone==0', {
- 'dependencies': [
- # use GTK on Linux, even for Aura builds.
- '../build/linux/system.gyp:gtk',
- ],
- }]
+ 'dependencies': [
+ '../build/linux/system.gyp:x11',
+ '../build/linux/system.gyp:xext',
+ '../build/linux/system.gyp:xfixes',
+ '../build/linux/system.gyp:xi',
+ '../build/linux/system.gyp:xrandr',
+ '../build/linux/system.gyp:xtst',
],
'link_settings': {
'libraries': [
@@ -334,6 +317,12 @@
],
},
}],
+ ['OS=="linux" and chromeos==0 and use_ozone==0', {
+ 'dependencies' : [
+ # Always use GTK on Linux, even for Aura builds.
+ '../build/linux/system.gyp:gtk',
+ ],
+ }],
['chromeos==1', {
'dependencies' : [
'../cc/cc.gyp:cc',
@@ -344,7 +333,6 @@
'../ui/aura/aura.gyp:aura',
'../ui/compositor/compositor.gyp:compositor',
'../ui/events/events.gyp:events',
- '../ui/events/platform/events_platform.gyp:events_platform',
'../ui/views/views.gyp:views',
],
'include_dirs': [
@@ -355,22 +343,21 @@
'host/continue_window_linux.cc',
'host/disconnect_window.cc',
'host/disconnect_window_linux.cc',
- 'host/linux/x_server_clipboard.cc',
- 'host/linux/x_server_clipboard.h',
'host/policy_hack/policy_watcher_linux.cc',
'host/remoting_me2me_host.cc',
- ],
- 'conditions': [
- ['use_ozone==0', {
- 'sources!': [
- 'host/input_injector_chromeos.cc',
- 'host/input_injector_chromeos.h',
- 'host/local_input_monitor_chromeos.cc',
- 'host/chromeos/mouse_cursor_monitor_aura.cc',
- 'host/chromeos/mouse_cursor_monitor_aura.h',
- ],
- }],
- ],
+ ]
+ }, { # chromeos==0
+ 'sources!' : [
+ 'host/chromeos/aura_desktop_capturer.cc',
+ 'host/chromeos/aura_desktop_capturer.h',
+ 'host/chromeos/message_box.cc',
+ 'host/chromeos/message_box.h',
+ 'host/clipboard_aura.cc',
+ 'host/clipboard_aura.h',
+ 'host/continue_window_chromeos.cc',
+ 'host/disconnect_window_chromeos.cc',
+ 'host/policy_hack/policy_watcher_chromeos.cc',
+ ],
}],
['OS=="mac"', {
'dependencies': [
diff --git a/remoting/remoting_test.gypi b/remoting/remoting_test.gypi
index dd94e32..a016929 100644
--- a/remoting/remoting_test.gypi
+++ b/remoting/remoting_test.gypi
@@ -136,10 +136,10 @@
'host/branding.h',
'host/capture_scheduler_unittest.cc',
'host/chromeos/aura_desktop_capturer_unittest.cc',
- 'host/chromeos/clipboard_aura_unittest.cc',
'host/chromoting_host_context_unittest.cc',
'host/chromoting_host_unittest.cc',
'host/client_session_unittest.cc',
+ 'host/clipboard_aura_unittest.cc',
'host/config_file_watcher_unittest.cc',
'host/daemon_process_unittest.cc',
'host/desktop_process_unittest.cc',
@@ -251,10 +251,6 @@
'host/chromeos/aura_desktop_capturer_unittest.cc',
'host/clipboard_aura_unittest.cc',
],
- }, { # chromeos==1
- 'sources!': [
- 'host/linux/x_server_clipboard_unittest.cc',
- ],
}],
['enable_remoting_host == 0', {
'dependencies!': [