diff options
author | kelvinp <kelvinp@chromium.org> | 2014-09-16 17:24:17 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-17 00:24:26 +0000 |
commit | 278b065b519617b1e9231bd53e6502706d20787c (patch) | |
tree | c2aeff898c14d1ff542729bd97ff6c569ad2a586 /remoting/remoting_host.gypi | |
parent | d37917586956816bf0a0b0f02e68d7b2998e412e (diff) | |
download | chromium_src-278b065b519617b1e9231bd53e6502706d20787c.zip chromium_src-278b065b519617b1e9231bd53e6502706d20787c.tar.gz chromium_src-278b065b519617b1e9231bd53e6502706d20787c.tar.bz2 |
Remote Assistance on Chrome OS - Aura Desktop Capturer
This CL implements a WebRTC Desktop Capturer that captures from
the Aura Shell root window.
The capturer is used by the It2MeHost on Chrome OS.
|DesktopCaptureDeviceAura| cannot be re-used in our scenario
because is timer-driven as opposed to caller driven, which is
required by WebRTC.
The current implementation uses the layer API
desktop_window_->layer()->RequestCopyOfOutput(request.Pass())
to request the layer and its subtree to be rendered to a
|SkiaBitmap|. It then copies the pixels to a WebRTC |DesktopFrame|.
BUG=411530
Review URL: https://codereview.chromium.org/543243003
Cr-Commit-Position: refs/heads/master@{#295187}
Diffstat (limited to 'remoting/remoting_host.gypi')
-rw-r--r-- | remoting/remoting_host.gypi | 182 |
1 files changed, 118 insertions, 64 deletions
diff --git a/remoting/remoting_host.gypi b/remoting/remoting_host.gypi index d7f0e4d..25c1529 100644 --- a/remoting/remoting_host.gypi +++ b/remoting/remoting_host.gypi @@ -12,11 +12,19 @@ 'variables': { 'conditions': [ # Remoting host is supported only on Windows, OSX and Linux (with X11). - ['OS=="win" or OS=="mac" or (OS=="linux" and chromeos==0 and use_x11==1)', { + ['OS=="win" or OS=="mac" or (OS=="linux" and use_x11==1)', { + 'enable_me2me_host': 1, + 'enable_it2me_host': 1, 'enable_remoting_host': 1, }, { + 'enable_me2me_host': 0, + 'enable_it2me_host': 0, 'enable_remoting_host': 0, }], + ['chromeos==1', { + 'enable_me2me_host': 0, + 'enable_it2me_host': 0, + }], ], }, @@ -64,6 +72,8 @@ 'host/branding.h', 'host/capture_scheduler.cc', 'host/capture_scheduler.h', + 'host/chromeos/aura_desktop_capturer.cc', + 'host/chromeos/aura_desktop_capturer.h', 'host/chromium_port_allocator_factory.cc', 'host/chromium_port_allocator_factory.h', 'host/chromoting_host.cc', @@ -287,8 +297,6 @@ 'conditions': [ ['OS=="linux"', { 'dependencies': [ - # Always use GTK on Linux, even for Aura builds. - '../build/linux/system.gyp:gtk', '../build/linux/system.gyp:x11', '../build/linux/system.gyp:xext', '../build/linux/system.gyp:xfixes', @@ -302,6 +310,39 @@ ], }, }], + ['OS=="linux" and chromeos==0', { + 'dependencies' : [ + # Always use GTK on Linux, even for Aura builds. + '../build/linux/system.gyp:gtk', + ], + }], + ['chromeos==1', { + 'dependencies' : [ + '../ash/ash.gyp:ash', + '../cc/cc.gyp:cc', + '../content/content.gyp:content', + '../ppapi/ppapi_internal.gyp:ppapi_host', + '../skia/skia.gyp:skia', + '../ui/aura/aura.gyp:aura', + '../ui/compositor/compositor.gyp:compositor', + ], + 'include_dirs': [ + '../third_party/skia/include/utils', + ], + 'sources!' : [ + 'host/continue_window.cc', + 'host/continue_window.h', + 'host/continue_window_linux.cc', + 'host/disconnect_window.cc', + 'host/disconnect_window_linux.cc', + 'host/remoting_me2me_host.cc', + ] + }, { # chromeos==0 + 'sources!' : [ + 'host/chromeos/aura_desktop_capturer.cc', + 'host/chromeos/aura_desktop_capturer.h', + ], + }], ['OS=="mac"', { 'dependencies': [ '../third_party/google_toolbox_for_mac/google_toolbox_for_mac.gyp:google_toolbox_for_mac', @@ -398,40 +439,6 @@ }, # end of target 'remoting_native_messaging_base' { - 'target_name': 'remoting_me2me_host_static', - 'type': 'static_library', - 'variables': { 'enable_wexit_time_destructors': 1, }, - 'dependencies': [ - '../base/base.gyp:base', - '../base/base.gyp:base_i18n', - '../net/net.gyp:net', - '../third_party/webrtc/modules/modules.gyp:desktop_capture', - 'remoting_base', - 'remoting_breakpad', - 'remoting_host', - 'remoting_protocol', - ], - 'defines': [ - 'VERSION=<(version_full)', - ], - 'sources': [ - 'host/curtain_mode.h', - 'host/curtain_mode_linux.cc', - 'host/curtain_mode_mac.cc', - 'host/curtain_mode_win.cc', - 'host/posix/signal_handler.cc', - 'host/posix/signal_handler.h', - ], - 'conditions': [ - ['os_posix != 1', { - 'sources/': [ - ['exclude', '^host/posix/'], - ], - }], - ], # end of 'conditions' - }, # end of target 'remoting_me2me_host_static' - - { 'target_name': 'remoting_host_setup_base', 'type': 'static_library', 'variables': { 'enable_wexit_time_destructors': 1, }, @@ -481,30 +488,6 @@ ], }, # end of target 'remoting_host_setup_base' - { - 'target_name': 'remoting_it2me_host_static', - 'type': 'static_library', - 'variables': { 'enable_wexit_time_destructors': 1, }, - 'dependencies': [ - '../base/base.gyp:base_i18n', - '../net/net.gyp:net', - 'remoting_base', - 'remoting_host', - 'remoting_infoplist_strings', - 'remoting_protocol', - 'remoting_resources', - ], - 'defines': [ - 'VERSION=<(version_full)', - ], - 'sources': [ - 'host/it2me/it2me_host.cc', - 'host/it2me/it2me_host.h', - 'host/it2me/it2me_native_messaging_host.cc', - 'host/it2me/it2me_native_messaging_host.h', - ], - }, # end of target 'remoting_it2me_host_static' - # Generates native messaging manifest files. { 'target_name': 'remoting_native_messaging_manifests', @@ -617,7 +600,73 @@ ], # end of 'targets' }], # 'enable_remoting_host==1' - ['OS!="win" and enable_remoting_host==1', { + ['enable_me2me_host==1', { + 'targets': [ + { + 'target_name': 'remoting_me2me_host_static', + 'type': 'static_library', + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'dependencies': [ + '../base/base.gyp:base', + '../base/base.gyp:base_i18n', + '../net/net.gyp:net', + '../third_party/webrtc/modules/modules.gyp:desktop_capture', + 'remoting_base', + 'remoting_breakpad', + 'remoting_host', + 'remoting_protocol', + ], + 'defines': [ + 'VERSION=<(version_full)', + ], + 'sources': [ + 'host/curtain_mode.h', + 'host/curtain_mode_linux.cc', + 'host/curtain_mode_mac.cc', + 'host/curtain_mode_win.cc', + 'host/posix/signal_handler.cc', + 'host/posix/signal_handler.h', + ], + 'conditions': [ + ['os_posix != 1', { + 'sources/': [ + ['exclude', '^host/posix/'], + ], + }], + ], # end of 'conditions' + }, # end of target 'remoting_me2me_host_static' + ] # end of targets + }], # end of enable_me2me_host==1 + + ['enable_it2me_host==1', { + 'targets': [ + { + 'target_name': 'remoting_it2me_host_static', + 'type': 'static_library', + 'variables': { 'enable_wexit_time_destructors': 1, }, + 'dependencies': [ + '../base/base.gyp:base_i18n', + '../net/net.gyp:net', + 'remoting_base', + 'remoting_host', + 'remoting_infoplist_strings', + 'remoting_protocol', + 'remoting_resources', + ], + 'defines': [ + 'VERSION=<(version_full)', + ], + 'sources': [ + 'host/it2me/it2me_host.cc', + 'host/it2me/it2me_host.h', + 'host/it2me/it2me_native_messaging_host.cc', + 'host/it2me/it2me_native_messaging_host.h', + ], + }, # end of target 'remoting_it2me_host_static' + ] # end of targets + }], # end of 'enable_it2me_host==1' + + ['OS!="win" and enable_me2me_host==1', { 'targets': [ { 'target_name': 'remoting_me2me_host', @@ -795,6 +844,11 @@ }], # OS=mac ], }, # end of target 'remoting_me2me_native_messaging_host' + ], # targets + }], # end of OS!="win" and enable_me2me_host==1 + + ['OS!="win" and enable_it2me_host==1', { + 'targets': [ { 'target_name': 'remoting_it2me_native_messaging_host', 'type': 'executable', @@ -818,7 +872,7 @@ 'host/it2me/it2me_native_messaging_host_main.h', ], 'conditions': [ - ['OS=="linux"', { + ['OS=="linux" and chromeos==0', { 'dependencies': [ # Always use GTK on Linux, even for Aura builds. '../build/linux/system.gyp:gtk', @@ -890,7 +944,7 @@ ], }, # end of target 'remoting_it2me_native_messaging_host' ], # end of 'targets' - }], # OS!="win" + }], # # end of OS!="win" and enable_it2me_host==1 ], # end of 'conditions' } |