Revert "Remote assistance on Chrome OS Part VIII - Compile on Ozone"
This reverts commit 18ffa032d4
.
It broke ChromiumOS GN.
R=kelvinp@chromium.org
Review URL: https://codereview.chromium.org/718313002
Cr-Commit-Position: refs/heads/master@{#303972}
This commit is contained in:
chrome
remoting
host
BUILD.gnbasic_desktop_environment.cc
remoting_host.gypiremoting_host_srcs.gypiremoting_test.gypichromeos
clipboard_aura.ccclipboard_aura.hclipboard_aura_unittest.ccdesktop_shape_tracker_x11.ccinput_injector_chromeos.ccinput_injector_chromeos.hinput_injector_linux.cclocal_input_monitor_chromeos.cclocal_input_monitor_linux.cc@ -229,6 +229,9 @@ static_library("extensions") {
|
||||
sources -= [
|
||||
"global_shortcut_listener_chromeos.cc",
|
||||
]
|
||||
deps -= [
|
||||
"//remoting/host/it2me:common",
|
||||
]
|
||||
}
|
||||
if (!use_ozone) {
|
||||
sources -= [
|
||||
|
@ -23,8 +23,10 @@
|
||||
#include "extensions/common/switches.h"
|
||||
#include "extensions/common/url_pattern.h"
|
||||
#include "net/url_request/url_request_context_getter.h"
|
||||
#if defined(USE_X11)
|
||||
#include "remoting/host/chromoting_host_context.h"
|
||||
#include "remoting/host/it2me/it2me_native_messaging_host.h"
|
||||
# endif // defined(USE_X11)
|
||||
#include "ui/gfx/native_widget_types.h"
|
||||
#include "url/gurl.h"
|
||||
|
||||
@ -95,6 +97,9 @@ struct BuiltInHost {
|
||||
scoped_ptr<NativeMessageHost>(*create_function)();
|
||||
};
|
||||
|
||||
// Remote assistance currently only supports X11.
|
||||
// TODO(kelvinp): Migrate to ozone once it is ready (crbug.com/426716).
|
||||
#if defined(USE_X11)
|
||||
scoped_ptr<NativeMessageHost> CreateIt2MeHost() {
|
||||
if (CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
switches::kEnableRemoteAssistance)) {
|
||||
@ -125,16 +130,19 @@ const char* const kRemotingIt2MeOrigins[] = {
|
||||
"chrome-extension://dokpleeekgeeiehdhmdkeimnkmoifgdd/",
|
||||
"chrome-extension://ajoainacpilcemgiakehflpbkbfipojk/",
|
||||
"chrome-extension://hmboipgjngjoiaeicfdifdoeacilalgc/"};
|
||||
#endif // defined(USE_X11)
|
||||
|
||||
static const BuiltInHost kBuiltInHost[] = {
|
||||
{"com.google.chrome.test.echo", // ScopedTestNativeMessagingHost::kHostName
|
||||
kEchoHostOrigins,
|
||||
arraysize(kEchoHostOrigins),
|
||||
&EchoHost::Create},
|
||||
#if defined(USE_X11)
|
||||
{"com.google.chrome.remote_assistance",
|
||||
kRemotingIt2MeOrigins,
|
||||
arraysize(kRemotingIt2MeOrigins),
|
||||
&CreateIt2MeHost},
|
||||
#endif // defined(USE_X11)
|
||||
};
|
||||
|
||||
bool MatchesSecurityOrigin(const BuiltInHost& host,
|
||||
|
@ -965,13 +965,19 @@
|
||||
],
|
||||
'conditions': [
|
||||
['chromeos==1', {
|
||||
'include_dirs': [
|
||||
'../third_party/libjingle/source',
|
||||
'conditions': [
|
||||
['use_x11==1', {
|
||||
'dependencies': [
|
||||
'../remoting/remoting.gyp:remoting_it2me_host_static',
|
||||
],
|
||||
'include_dirs': [
|
||||
'../third_party/libjingle/source',
|
||||
],
|
||||
}]
|
||||
],
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:dbus',
|
||||
'../chromeos/ime/input_method.gyp:gencode',
|
||||
'../remoting/remoting.gyp:remoting_it2me_host_static',
|
||||
'../third_party/libevent/libevent.gyp:libevent',
|
||||
],
|
||||
'sources': [
|
||||
|
@ -30,7 +30,6 @@ static_library("host") {
|
||||
"//remoting/base",
|
||||
"//remoting/protocol",
|
||||
"//remoting/resources",
|
||||
"//ui/events/platform",
|
||||
"//ui/events:dom4_keycode_converter",
|
||||
]
|
||||
|
||||
@ -44,11 +43,7 @@ static_library("host") {
|
||||
"//build/config/linux:x11",
|
||||
]
|
||||
} else {
|
||||
sources -= [
|
||||
"clipboard_x11.cc",
|
||||
"linux/x_server_clipboard.cc",
|
||||
"linux/x_server_clipboard.h",
|
||||
]
|
||||
sources -= [ "clipboard_x11.cc" ]
|
||||
}
|
||||
|
||||
if (is_chromeos) {
|
||||
@ -68,30 +63,19 @@ static_library("host") {
|
||||
deps += [ "//ash" ]
|
||||
}
|
||||
|
||||
if (use_ozone) {
|
||||
sources -= [
|
||||
"input_injector_x11.cc",
|
||||
"local_input_monitor_x11.cc",
|
||||
]
|
||||
} else {
|
||||
sources -= [
|
||||
"chromeos/mouse_cursor_monitor_aura.cc",
|
||||
"chromeos/mouse_cursor_monitor_aura.h",
|
||||
"clipboard_x11.cc",
|
||||
"input_injector_chromeos.cc",
|
||||
"input_injector_chromeos.h",
|
||||
"linux/x_server_clipboard.cc",
|
||||
"linux/x_server_clipboard.h",
|
||||
"local_input_monitor_chromeos.cc",
|
||||
]
|
||||
}
|
||||
|
||||
sources -= [
|
||||
"clipboard_x11.cc",
|
||||
"continue_window_linux.cc",
|
||||
"disconnect_window_linux.cc",
|
||||
"policy_hack/policy_watcher_linux.cc",
|
||||
"remoting_me2me_host.cc",
|
||||
]
|
||||
|
||||
} else {
|
||||
sources -= [
|
||||
"clipboard_aura.cc",
|
||||
"clipboard_aura.h",
|
||||
]
|
||||
}
|
||||
|
||||
if (is_mac) {
|
||||
|
@ -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 {
|
||||
|
@ -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
|
@ -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_
|
@ -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"
|
@ -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"
|
@ -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
|
@ -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_
|
@ -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();
|
@ -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
|
@ -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));
|
||||
}
|
||||
|
@ -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,
|
||||
}],
|
||||
@ -61,23 +60,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': [
|
||||
@ -85,6 +74,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',
|
||||
@ -95,7 +90,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': [
|
||||
@ -105,22 +99,21 @@
|
||||
'host/clipboard_x11.cc',
|
||||
'host/continue_window_linux.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': [
|
||||
|
@ -24,12 +24,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',
|
||||
@ -44,6 +40,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',
|
||||
@ -80,7 +78,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',
|
||||
@ -125,11 +123,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',
|
||||
@ -162,10 +158,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_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',
|
||||
|
@ -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!': [
|
||||
|
Reference in New Issue
Block a user