Author:
weit...@chromium.org
Date: Thu Mar 27 22:22:00 2014
New Revision: 260075
Log:
Add breakpad support for me2me and it2me native messaging host on Mac.
Changes in this CL include:
1. Initialize breakpad in it2me native messaging host
2. Create bundles for it2me and me2me native messaging hosts and move them out of the me2me host bundle (and update the manifests accordingly).
3. Dump symbols of the it2me and me2me native messaging hosts
4. Sign the me2me and it2me native messaging hosts
4. Rename the me2me host bundle and the prefPane bundle to get rid of the internal chromium/chromoting names and to conform to Mac convention
5. Refactor GYP, build-installer-archive.py, and do_signing.sh, etc to use name constants from branding_chrome and branding_chromium instead of hard coded names. This ensures that all the name constants are defined in a central location and reduces duplicate name definitions.
Here are the names of the host bundles:
me2me host:
old name: org.chromium.chromoting.me2me_host
new name: ChromeRemoteDesktop.Host
Pref pane:
old name: org.chromium.chromoting.prefPane
new name: ChromeRemoteDesktop.prefPane
it2me nm host:
name: NativeMessagingHost
Full Path: /Library/Google/ChromeRemoteDesktop/NativeMessagingHost.app
me2me nm host:
name: RemoteAssistanceHost
Full path: /Library/Google/ChromeRemoteDesktop/RemoteAssistanceHost.app
BUG=
Committed:
https://src.chromium.org/viewvc/chrome?view=rev&revision=259287
Review URL:
https://codereview.chromium.org/186763004
Added:
trunk/src/remoting/host/it2me/remote_assistance_host-Info.plist
- copied, changed from r260074, /trunk/src/remoting/host/remoting_me2me_host-Info.plist
trunk/src/remoting/host/it2me/remote_assistance_host-InfoPlist.strings.jinja2
- copied unchanged from r260074, /trunk/src/remoting/host/remoting_me2me_host-InfoPlist.strings.jinja2
trunk/src/remoting/host/setup/native_messaging_host-Info.plist
- copied, changed from r260074, /trunk/src/remoting/host/remoting_me2me_host-Info.plist
trunk/src/remoting/host/setup/native_messaging_host-InfoPlist.strings.jinja2
- copied unchanged from r260074, /trunk/src/remoting/host/remoting_me2me_host-InfoPlist.strings.jinja2
Modified:
trunk/src/chrome/test/pyautolib/chromoting_helper.py
trunk/src/remoting/branding_Chrome
trunk/src/remoting/branding_Chromium
trunk/src/remoting/host/constants_mac.cc
trunk/src/remoting/host/installer/linux/Makefile
trunk/src/remoting/host/installer/mac/ChromotingHostService.pkgproj
trunk/src/remoting/host/installer/mac/PrivilegedHelperTools/
org.chromium.chromoting.me2me.sh
trunk/src/remoting/host/installer/mac/do_signing.props
trunk/src/remoting/host/installer/mac/do_signing.sh
trunk/src/remoting/host/setup/me2me_native_messaging_host_main.cc
trunk/src/remoting/remoting_host.gypi
trunk/src/remoting/remoting_host_linux.gypi
trunk/src/remoting/remoting_host_mac.gypi
trunk/src/remoting/tools/get_mac_crd_version.sh
trunk/src/remoting/tools/register_local_nm_hosts.sh
Modified: trunk/src/chrome/test/pyautolib/chromoting_helper.py
==============================================================================
--- trunk/src/chrome/test/pyautolib/chromoting_helper.py (original)
+++ trunk/src/chrome/test/pyautolib/chromoting_helper.py Thu Mar 27 22:22:00 2014
@@ -124,7 +124,7 @@
mock_pref_pane = os.path.join(pref_pane_dir, 'mock_pref_pane')
pref_pane = os.path.join(pref_pane_dir,
- 'org.chromium.chromoting.prefPane')
+ 'ChromeRemoteDesktop.prefPane')
mock_pref_pane_python = os.path.join(
os.path.dirname(os.path.abspath(__file__)),
'mock_pref_pane.py')
@@ -197,4 +197,4 @@
if __name__ == '__main__':
- Main()
\ No newline at end of file
+ Main()
Modified: trunk/src/remoting/branding_Chrome
==============================================================================
--- trunk/src/remoting/branding_Chrome (original)
+++ trunk/src/remoting/branding_Chrome Thu Mar 27 22:22:00 2014
@@ -6,7 +6,13 @@
MAC_BUNDLE_ID=
com.google.Chrome
MAC_CREATOR=rimZ
MAC_HOST_BUNDLE_ID=com.google.chromeremotedesktop.me2me-host
+MAC_HOST_BUNDLE_NAME=ChromeRemoteDesktopHost.bundle
+MAC_NATIVE_MESSAGING_HOST_BUNDLE_ID=com.google.chrome.remote_desktop.native-messaging-host
+MAC_NATIVE_MESSAGING_HOST_BUNDLE_NAME=NativeMessagingHost.bundle
MAC_PREFPANE_BUNDLE_ID=com.google.chromeremotedesktop.preferences
+MAC_PREFPANE_BUNDLE_NAME=ChromeRemoteDesktop.prefPane
+MAC_REMOTE_ASSISTANCE_HOST_BUNDLE_ID=com.google.chrome.remote_desktop.remote-assistance-host
+MAC_REMOTE_ASSISTANCE_HOST_BUNDLE_NAME=RemoteAssistanceHost.bundle
MAC_UNINSTALLER_BUNDLE_ID=com.google.chromeremotedesktop.me2me-host-uninstaller
MAC_UNINSTALLER_BUNDLE_PREFIX=com.google.pkg
MAC_UNINSTALLER_NAME=Chrome Remote Desktop Host Uninstaller
Modified: trunk/src/remoting/branding_Chromium
==============================================================================
--- trunk/src/remoting/branding_Chromium (original)
+++ trunk/src/remoting/branding_Chromium Thu Mar 27 22:22:00 2014
@@ -6,7 +6,13 @@
MAC_BUNDLE_ID=org.chromium.Chromium
MAC_CREATOR=Cr24
MAC_HOST_BUNDLE_ID=org.chromium.chromoting.me2me-host
+MAC_HOST_BUNDLE_NAME=ChromotingHost.bundle
+MAC_NATIVE_MESSAGING_HOST_BUNDLE_ID=org.chromium.chromoting.native-messaging-host
+MAC_NATIVE_MESSAGING_HOST_BUNDLE_NAME=NativeMessagingHost.bundle
MAC_PREFPANE_BUNDLE_ID=org.chromium.remoting.preferences
+MAC_PREFPANE_BUNDLE_NAME=Chromoting.prefPane
+MAC_REMOTE_ASSISTANCE_HOST_BUNDLE_ID=org.chromium.chromoting.remote-assistance-host
+MAC_REMOTE_ASSISTANCE_HOST_NAME=RemoteAssistanceHost.bundle
MAC_UNINSTALLER_BUNDLE_ID=org.chromium.chromoting.me2me-host-uninstaller
MAC_UNINSTALLER_BUNDLE_PREFIX=org.chromium.pkg
MAC_UNINSTALLER_NAME=Chromoting Host Uninstaller
Modified: trunk/src/remoting/host/constants_mac.cc
==============================================================================
--- trunk/src/remoting/host/constants_mac.cc (original)
+++ trunk/src/remoting/host/constants_mac.cc Thu Mar 27 22:22:00 2014
@@ -7,6 +7,8 @@
namespace remoting {
#define SERVICE_NAME "org.chromium.chromoting"
+#define PREFPANE_BUNDLE_NAME "ChromeRemoteDesktop.prefPane"
+#define HOST_BUNDLE_NAME "ChromeRemoteDesktopHost.bundle"
#define APPLICATIONS_DIR "/Applications/"
#define HELPER_TOOLS_DIR "/Library/PrivilegedHelperTools/"
@@ -17,14 +19,14 @@
const char kServiceName[] = SERVICE_NAME;
-const char kPrefPaneFileName[] = SERVICE_NAME ".prefPane";
-const char kPrefPaneFilePath[] = PREFERENCE_PANES_DIR SERVICE_NAME ".prefPane";
+const char kPrefPaneFileName[] = PREFPANE_BUNDLE_NAME;
+const char kPrefPaneFilePath[] = PREFERENCE_PANES_DIR PREFPANE_BUNDLE_NAME;
const char kHostConfigFileName[] = SERVICE_NAME ".json";
const char kHostConfigFilePath[] = HELPER_TOOLS_DIR SERVICE_NAME ".json";
const char kHostHelperScriptPath[] = HELPER_TOOLS_DIR SERVICE_NAME ".me2me.sh";
-const char kHostBinaryPath[] = HELPER_TOOLS_DIR SERVICE_NAME ".
me2me_host.app";
+const char kHostBinaryPath[] = HELPER_TOOLS_DIR HOST_BUNDLE_NAME;
const char kHostEnabledPath[] = HELPER_TOOLS_DIR SERVICE_NAME ".me2me_enabled";
const char kServicePlistPath[] = LAUNCH_AGENTS_DIR SERVICE_NAME ".plist";
Modified: trunk/src/remoting/host/installer/linux/Makefile
==============================================================================
--- trunk/src/remoting/host/installer/linux/Makefile (original)
+++ trunk/src/remoting/host/installer/linux/Makefile Thu Mar 27 22:22:00 2014
@@ -16,9 +16,9 @@
ME2ME_DEBUGFILE = $(ME2ME_PROGNAME).debug
START_PROGNAME = $(BUILD_DIR)/remoting_start_host
START_DEBUGFILE = $(START_PROGNAME).debug
-ME2ME_NM_PROGNAME = $(BUILD_DIR)/remoting_native_messaging_host
+ME2ME_NM_PROGNAME = $(BUILD_DIR)/native_messaging_host
ME2ME_NM_DEBUGFILE = $(ME2ME_NM_PROGNAME).debug
-REMOTE_ASSISTANCE_PROGNAME = $(BUILD_DIR)/remoting_it2me_native_messaging_host
+REMOTE_ASSISTANCE_PROGNAME = $(BUILD_DIR)/remote_assistance_host
REMOTE_ASSISTANCE_DEBUGFILE = $(REMOTE_ASSISTANCE_PROGNAME).debug
all:
Modified: trunk/src/remoting/host/installer/mac/ChromotingHostService.pkgproj
==============================================================================
--- trunk/src/remoting/host/installer/mac/ChromotingHostService.pkgproj (original)
+++ trunk/src/remoting/host/installer/mac/ChromotingHostService.pkgproj Thu Mar 27 22:22:00 2014
@@ -321,7 +321,7 @@
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
- <string>PreferencePanes/org.chromium.chromoting.prefPane</string>
+ <string>PreferencePanes/@@PREFPANE_BUNDLE_NAME@@</string>
<key>PATH_TYPE</key>
<integer>1</integer>
<key>PERMISSIONS</key>
@@ -404,7 +404,7 @@
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
- <string>PrivilegedHelperTools/
org.chromium.chromoting.me2me_host.app</string>
+ <string>PrivilegedHelperTools/@@HOST_BUNDLE_NAME@@</string>
<key>PATH_TYPE</key>
<integer>1</integer>
<key>PERMISSIONS</key>
Modified: trunk/src/remoting/host/installer/mac/PrivilegedHelperTools/
org.chromium.chromoting.me2me.sh
==============================================================================
--- trunk/src/remoting/host/installer/mac/PrivilegedHelperTools/
org.chromium.chromoting.me2me.sh (original)
+++ trunk/src/remoting/host/installer/mac/PrivilegedHelperTools/
org.chromium.chromoting.me2me.sh Thu Mar 27 22:22:00 2014
@@ -7,12 +7,14 @@
# Version = @@VERSION@@
NAME=org.chromium.chromoting
+HOST_BUNDLE_NAME=ChromeRemoteDesktopHost.bundle
+PREFPANE_BUNDLE_NAME=ChromeRemoteDesktop.prefPane
CONFIG_DIR=/Library/PrivilegedHelperTools
-HOST_EXE=$CONFIG_DIR/$
NAME.me2me_host.app/Contents/MacOS/remoting_me2me_host
-PLIST_FILE=$CONFIG_DIR/$
NAME.me2me_host.app/Contents/Info.plist
ENABLED_FILE=$CONFIG_DIR/$NAME.me2me_enabled
CONFIG_FILE=$CONFIG_DIR/$NAME.json
-PREF_PANE_BUNDLE=/Library/PreferencePanes/$NAME.prefPane
+HOST_EXE=$CONFIG_DIR/$HOST_BUNDLE_NAME/Contents/MacOS/remoting_me2me_host
+PLIST_FILE=$CONFIG_DIR/$HOST_BUNDLE_NAME/Contents/Info.plist
+PREF_PANE_BUNDLE=/Library/PreferencePanes/$PREFPANE_BUNDLE_NAME
# The exit code returned by 'wait' when a process is terminated by SIGTERM.
SIGTERM_EXIT_CODE=143
Modified: trunk/src/remoting/host/installer/mac/do_signing.props
==============================================================================
--- trunk/src/remoting/host/installer/mac/do_signing.props (original)
+++ trunk/src/remoting/host/installer/mac/do_signing.props Thu Mar 27 22:22:00 2014
@@ -1,4 +1,8 @@
-HOST_UNINSTALLER_NAME=@@HOST_UNINSTALLER_NAME@@
-HOST_PKG=@@HOST_PKG@@
-DMG_VOLUME_NAME=@@DMG_VOLUME_NAME@@
DMG_FILE_NAME=@@DMG_FILE_NAME@@
+DMG_VOLUME_NAME=@@DMG_VOLUME_NAME@@
+HOST_BUNDLE_NAME=@@HOST_BUNDLE_NAME@@
+HOST_PKG=@@HOST_PKG@@
+HOST_UNINSTALLER_NAME=@@HOST_UNINSTALLER_NAME@@
+NATIVE_MESSAGING_HOST_BUNDLE_NAME=@@NATIVE_MESSAGING_HOST_BUNDLE_NAME@@
+PREFPANE_BUNDLE_NAME=@@PREFPANE_BUNDLE_NAME@@
+REMOTE_ASSISTANCE_HOST_BUNDLE_NAME=@@REMOTE_ASSISTANCE_HOST_BUNDLE_NAME@@
Modified: trunk/src/remoting/host/installer/mac/do_signing.sh
==============================================================================
--- trunk/src/remoting/host/installer/mac/do_signing.sh (original)
+++ trunk/src/remoting/host/installer/mac/do_signing.sh Thu Mar 27 22:22:00 2014
@@ -30,26 +30,36 @@
# Individually load the properties for this build. Don't 'source' the file
# to guard against code accidentally being added to the props file.
- HOST_UNINSTALLER_NAME=$(read_property "HOST_UNINSTALLER_NAME")
- HOST_PKG=$(read_property "HOST_PKG")
DMG_VOLUME_NAME=$(read_property "DMG_VOLUME_NAME")
DMG_FILE_NAME=$(read_property "DMG_FILE_NAME")
+ HOST_BUNDLE_NAME=$(read_property "HOST_BUNDLE_NAME")
+ HOST_PKG=$(read_property "HOST_PKG")
+ HOST_UNINSTALLER_NAME=$(read_property "HOST_UNINSTALLER_NAME")
+ NATIVE_MESSAGING_HOST_BUNDLE_NAME=$(read_property\
+ "NATIVE_MESSAGING_HOST_BUNDLE_NAME")
+ PREFPANE_BUNDLE_NAME=$(read_property "PREFPANE_BUNDLE_NAME")
+ REMOTE_ASSISTANCE_HOST_BUNDLE_NAME=$(read_property\
+ "REMOTE_ASSISTANCE_HOST_BUNDLE_NAME")
# Binaries to sign.
- ME2ME_HOST='PrivilegedHelperTools/
org.chromium.chromoting.me2me_host.app'
- ME2ME_NM_HOST="${ME2ME_HOST}/Contents/MacOS/native_messaging_host"
- IT2ME_NM_HOST="${ME2ME_HOST}/Contents/MacOS/remote_assistance_host"
+ ME2ME_HOST="PrivilegedHelperTools/${HOST_BUNDLE_NAME}"
+ ME2ME_NM_HOST="PrivilegedHelperTools/${HOST_BUNDLE_NAME}/Contents/MacOS/"`
+ `"${NATIVE_MESSAGING_HOST_BUNDLE_NAME}/Contents/MacOS/"`
+ `"native_messaging_host"
+ IT2ME_NM_HOST="PrivilegedHelperTools/${HOST_BUNDLE_NAME}/Contents/MacOS/"`
+ `"${REMOTE_ASSISTANCE_HOST_BUNDLE_NAME}/Contents/MacOS/"`
+ `"remote_assistance_host"
UNINSTALLER="Applications/${HOST_UNINSTALLER_NAME}.app"
- PREFPANE='PreferencePanes/org.chromium.chromoting.prefPane'
+ PREFPANE="PreferencePanes/${PREFPANE_BUNDLE_NAME}"
# The Chromoting Host installer is a meta-package that consists of 3
# components:
# * Chromoting Host Service package
# * Chromoting Host Uninstaller package
# * Keystone package (GoogleSoftwareUpdate - for Official builds only)
- PKGPROJ_HOST='ChromotingHost.pkgproj'
- PKGPROJ_HOST_SERVICE='ChromotingHostService.pkgproj'
- PKGPROJ_HOST_UNINSTALLER='ChromotingHostUninstaller.pkgproj'
+ PKGPROJ_HOST="ChromotingHost.pkgproj"
+ PKGPROJ_HOST_SERVICE="ChromotingHostService.pkgproj"
+ PKGPROJ_HOST_UNINSTALLER="ChromotingHostUninstaller.pkgproj"
# Final (user-visible) pkg name.
PKG_FINAL="${HOST_PKG}.pkg"
@@ -93,7 +103,7 @@
read_property() {
local property="${1}"
local filename="${PROPS_FILENAME}"
- echo `grep "${property}" "${filename}" | tail -n 1 | cut -d "=" -f2-`
+ echo `grep "\<${property}\>=" "${filename}" | tail -n 1 | cut -d "=" -f2-`
}
verify_clean_dir() {
Modified: trunk/src/remoting/host/setup/me2me_native_messaging_host_main.cc
==============================================================================
--- trunk/src/remoting/host/setup/me2me_native_messaging_host_main.cc (original)
+++ trunk/src/remoting/host/setup/me2me_native_messaging_host_main.cc Thu Mar 27 22:22:00 2014
@@ -10,10 +10,16 @@
#include "base/run_loop.h"
#include "base/strings/string_number_conversions.h"
#include "net/url_request/url_fetcher.h"
+#include "remoting/base/breakpad.h"
#include "remoting/host/host_exit_codes.h"
#include "remoting/host/logging.h"
#include "remoting/host/pairing_registry_delegate.h"
#include "remoting/host/setup/me2me_native_messaging_host.h"
+#include "remoting/host/usage_stats_consent.h"
+
+#if defined(OS_MACOSX)
+#include "base/mac/scoped_nsautorelease_pool.h"
+#endif // defined(OS_MACOSX)
#if defined(OS_WIN)
#include "base/win/registry.h"
@@ -54,6 +60,20 @@
#endif // defined(OS_WIN)
int StartMe2MeNativeMessagingHost() {
+#if defined(OS_MACOSX)
+ // Needed so we don't leak objects when threads are created.
+ base::mac::ScopedNSAutoreleasePool pool;
+#endif // defined(OS_MACOSX)
+
+#if defined(REMOTING_ENABLE_BREAKPAD)
+ // Initialize Breakpad as early as possible. On Mac the command-line needs to
+ // be initialized first, so that the preference for crash-reporting can be
+ // looked up in the config file.
+ if (IsUsageStatsAllowed()) {
+ InitializeCrashReporting();
+ }
+#endif // defined(REMOTING_ENABLE_BREAKPAD)
+
// Mac OS X requires that the main thread be a UI message loop in order to
// receive distributed notifications from the System Preferences pane. An
// IO thread is needed for the pairing registry and URL context getter.
Modified: trunk/src/remoting/remoting_host.gypi
==============================================================================
--- trunk/src/remoting/remoting_host.gypi (original)
+++ trunk/src/remoting/remoting_host.gypi Thu Mar 27 22:22:00 2014
@@ -576,10 +576,13 @@
}],
[ 'OS == "mac"', {
'variables': {
+ 'me2me_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_NAME@")',
+ 'native_messaging_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_NATIVE_MESSAGING_HOST_BUNDLE_NAME@")',
+ 'remote_assistance_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_REMOTE_ASSISTANCE_HOST_BUNDLE_NAME@")',
'me2me_host_path':
- '/Library/PrivilegedHelperTools/
org.chromium.chromoting.me2me_host.app/Contents/MacOS/native_messaging_host',
+ '/Library/PrivilegedHelperTools/<(me2me_host_bundle_name)/Contents/MacOS/<(native_messaging_host_bundle_name)/Contents/MacOS/native_messaging_host',
'it2me_host_path':
- '/Library/PrivilegedHelperTools/
org.chromium.chromoting.me2me_host.app/Contents/MacOS/remote_assistance_host',
+ '/Library/PrivilegedHelperTools/<(me2me_host_bundle_name)/Contents/MacOS/<(remote_assistance_host_bundle_name)/Contents/MacOS/remote_assistance_host',
},
}],
[ 'OS != "mac" and OS != "win"', {
@@ -628,6 +631,8 @@
'host/remoting_me2me_host-InfoPlist.strings.jinja2',
'host/mac/me2me_preference_pane-InfoPlist.strings.jinja2',
'host/installer/mac/uninstaller/remoting_uninstaller-InfoPlist.strings.jinja2',
+ 'host/setup/native_messaging_host-InfoPlist.strings.jinja2',
+ 'host/it2me/remote_assistance_host-InfoPlist.strings.jinja2',
],
'rules': [{
'rule_name': 'generate_strings',
@@ -751,14 +756,19 @@
{
'target_name': 'remoting_me2me_native_messaging_host',
'type': 'executable',
- 'product_name': 'remoting_native_messaging_host',
+ 'product_name': 'native_messaging_host',
'variables': { 'enable_wexit_time_destructors': 1, },
'dependencies': [
'../base/base.gyp:base',
+ 'remoting_breakpad',
'remoting_host',
'remoting_host_setup_base',
+ 'remoting_infoplist_strings',
'remoting_native_messaging_base',
],
+ 'defines': [
+ 'VERSION=<(version_full)',
+ ],
'sources': [
'host/setup/me2me_native_messaging_host.cc',
'host/setup/me2me_native_messaging_host.h',
@@ -773,11 +783,68 @@
'../base/allocator/allocator.gyp:allocator',
],
}],
+ ['OS=="mac"', {
+ 'mac_bundle': 1,
+ 'variables': {
+ 'host_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_NATIVE_MESSAGING_HOST_BUNDLE_ID@")',
+ },
+ 'xcode_settings': {
+ 'INFOPLIST_FILE': 'host/setup/native_messaging_host-Info.plist',
+ 'INFOPLIST_PREPROCESS': 'YES',
+ 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)"',
+ },
+ 'mac_bundle_resources': [
+ 'host/setup/native_messaging_host-Info.plist',
+ '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT_DIR) <(remoting_locales))',
+
+ # Localized strings for 'Info.plist'
+ '<!@pymod_do_main(remoting_localize --locale_output '
+ '"<(SHARED_INTERMEDIATE_DIR)/remoting/native_messaging_host-InfoPlist.strings/@{json_suffix}.lproj/InfoPlist.strings" '
+ '--print_only <(remoting_locales))',
+ ],
+ 'mac_bundle_resources!': [
+ 'host/setup/native_messaging_host-Info.plist',
+ ],
+ 'conditions': [
+ ['mac_breakpad==1', {
+ 'variables': {
+ # A real .dSYM is needed for dump_syms to operate on.
+ 'mac_real_dsym': 1,
+ },
+ 'copies': [
+ {
+ 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
+ 'files': [
+ '<(PRODUCT_DIR)/crash_inspector',
+ '<(PRODUCT_DIR)/
crash_report_sender.app'
+ ],
+ },
+ ],
+ 'dependencies': [
+ '../breakpad/breakpad.gyp:dump_syms',
+ ],
+ 'postbuilds': [
+ {
+ 'postbuild_name': 'Dump Symbols',
+ 'variables': {
+ 'dump_product_syms_path':
+ 'scripts/mac/dump_product_syms',
+ },
+ 'action': [
+ '<(dump_product_syms_path)',
+ '<(version_full)',
+ ],
+ }, # end of postbuild 'dump_symbols'
+ ], # end of 'postbuilds'
+ }], # mac_breakpad==1
+ ], # conditions
+ }], # OS=mac
],
}, # end of target 'remoting_me2me_native_messaging_host'
{
'target_name': 'remoting_it2me_native_messaging_host',
'type': 'executable',
+ 'product_name': 'remote_assistance_host',
'variables': { 'enable_wexit_time_destructors': 1, },
'dependencies': [
'../base/base.gyp:base',
@@ -788,6 +855,9 @@
'remoting_native_messaging_base',
'remoting_protocol',
],
+ 'defines': [
+ 'VERSION=<(version_full)',
+ ],
'sources': [
'host/it2me/it2me_native_messaging_host_entry_point.cc',
'host/it2me/it2me_native_messaging_host_main.cc',
@@ -806,6 +876,63 @@
'../base/allocator/allocator.gyp:allocator',
],
}],
+ ['OS=="mac"', {
+ 'mac_bundle': 1,
+ 'variables': {
+ 'host_bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_REMOTE_ASSISTANCE_HOST_BUNDLE_ID@")',
+ },
+ 'xcode_settings': {
+ 'INFOPLIST_FILE': 'host/it2me/remote_assistance_host-Info.plist',
+ 'INFOPLIST_PREPROCESS': 'YES',
+ 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(host_bundle_id)"',
+ },
+ 'mac_bundle_resources': [
+ '<(PRODUCT_DIR)/icudtl.dat',
+ 'host/it2me/remote_assistance_host-Info.plist',
+ '<!@pymod_do_main(remoting_copy_locales -o -p <(OS) -x <(PRODUCT_DIR) <(remoting_locales))',
+
+ # Localized strings for 'Info.plist'
+ '<!@pymod_do_main(remoting_localize --locale_output '
+ '"<(SHARED_INTERMEDIATE_DIR)/remoting/remote_assistance_host-InfoPlist.strings/@{json_suffix}.lproj/InfoPlist.strings" '
+ '--print_only <(remoting_locales))',
+ ],
+ 'mac_bundle_resources!': [
+ 'host/it2me/remote_assistance_host-Info.plist',
+ ],
+ 'conditions': [
+ ['mac_breakpad==1', {
+ 'variables': {
+ # A real .dSYM is needed for dump_syms to operate on.
+ 'mac_real_dsym': 1,
+ },
+ 'copies': [
+ {
+ 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
+ 'files': [
+ '<(PRODUCT_DIR)/crash_inspector',
+ '<(PRODUCT_DIR)/
crash_report_sender.app'
+ ],
+ },
+ ],
+ 'dependencies': [
+ '../breakpad/breakpad.gyp:dump_syms',
+ ],
+ 'postbuilds': [
+ {
+ 'postbuild_name': 'Dump Symbols',
+ 'variables': {
+ 'dump_product_syms_path':
+ 'scripts/mac/dump_product_syms',
+ },
+ 'action': [
+ '<(dump_product_syms_path)',
+ '<(version_full)',
+ ],
+ }, # end of postbuild 'dump_symbols'
+ ], # end of 'postbuilds'
+ }], # mac_breakpad==1
+ ], # conditions
+ }], # OS=mac
],
}, # end of target 'remoting_it2me_native_messaging_host'
], # end of 'targets'
Modified: trunk/src/remoting/remoting_host_linux.gypi
==============================================================================
--- trunk/src/remoting/remoting_host_linux.gypi (original)
+++ trunk/src/remoting/remoting_host_linux.gypi Thu Mar 27 22:22:00 2014
@@ -13,7 +13,8 @@
'<!(echo <(deb_filename) | sed -e "s/.deb$/.changes/")',
'<(PRODUCT_DIR)/remoting_me2me_host.debug',
'<(PRODUCT_DIR)/remoting_start_host.debug',
- '<(PRODUCT_DIR)/remoting_native_messaging_host.debug',
+ '<(PRODUCT_DIR)/native_messaging_host.debug',
+ '<(PRODUCT_DIR)/remote_assistance_host.debug',
]
},
'targets': [
Modified: trunk/src/remoting/remoting_host_mac.gypi
==============================================================================
--- trunk/src/remoting/remoting_host_mac.gypi (original)
+++ trunk/src/remoting/remoting_host_mac.gypi Thu Mar 27 22:22:00 2014
@@ -86,6 +86,10 @@
'host_service_name': '<!(python <(version_py_path) -f <(branding_path) -t "@DAEMON_FILE_NAME@")',
'host_uninstaller_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_UNINSTALLER_NAME@")',
'bundle_prefix': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_UNINSTALLER_BUNDLE_PREFIX@")',
+ 'me2me_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_NAME@")',
+ 'prefpane_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_PREFPANE_BUNDLE_NAME@")',
+ 'native_messaging_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_NATIVE_MESSAGING_HOST_BUNDLE_NAME@")',
+ 'remote_assistance_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_REMOTE_ASSISTANCE_HOST_BUNDLE_NAME@")',
},
'actions': [
{
@@ -100,20 +104,17 @@
'generated_files': [
'<(PRODUCT_DIR)/remoting_host_prefpane.prefPane',
'<(PRODUCT_DIR)/
remoting_me2me_host.app',
- '<(PRODUCT_DIR)/remoting_native_messaging_host',
- '<(PRODUCT_DIR)/remoting_it2me_native_messaging_host',
+ '<(PRODUCT_DIR)/
native_messaging_host.app',
+ '<(PRODUCT_DIR)/
remote_assistance_host.app',
'<(PRODUCT_DIR)/
remoting_host_uninstaller.app',
'<(PRODUCT_DIR)/remoting/com.google.chrome.remote_desktop.json',
'<(PRODUCT_DIR)/remoting/com.google.chrome.remote_assistance.json',
],
'generated_files_dst': [
- 'PreferencePanes/org.chromium.chromoting.prefPane',
-
- # TODO(sergeyu): Rename org.chromium.chromoting.me2me_host. e.g.
- # to com.google.chrome.remote-desktop .
- 'PrivilegedHelperTools/
org.chromium.chromoting.me2me_host.app',
- 'PrivilegedHelperTools/
org.chromium.chromoting.me2me_host.app/Contents/MacOS/native_messaging_host',
- 'PrivilegedHelperTools/
org.chromium.chromoting.me2me_host.app/Contents/MacOS/remote_assistance_host',
+ 'PreferencePanes/<(prefpane_bundle_name)',
+ 'PrivilegedHelperTools/<(me2me_host_bundle_name)',
+ 'PrivilegedHelperTools/<(me2me_host_bundle_name)/Contents/MacOS/<(native_messaging_host_bundle_name)',
+ 'PrivilegedHelperTools/<(me2me_host_bundle_name)/Contents/MacOS/<(remote_assistance_host_bundle_name)',
'Applications/<(host_uninstaller_name).app',
'Config/com.google.chrome.remote_desktop.json',
'Config/com.google.chrome.remote_assistance.json',
@@ -127,6 +128,7 @@
'VERSION_MAJOR=<(version_major)',
'VERSION_MINOR=<(version_minor)',
'HOST_NAME=<(host_name)',
+ 'HOST_BUNDLE_NAME=<(me2me_host_bundle_name)',
'HOST_SERVICE_NAME=<(host_service_name)',
'HOST_UNINSTALLER_NAME=<(host_uninstaller_name)',
'HOST_PKG=<(host_name)',
@@ -137,6 +139,9 @@
'BUNDLE_ID_HOST_UNINSTALLER=<(bundle_prefix).<(host_uninstaller_name_nospace)',
'DMG_VOLUME_NAME=<(host_name) <(version_full)',
'DMG_FILE_NAME=<!(echo <(host_name) | sed "s/ //g")-<(version_full)',
+ 'NATIVE_MESSAGING_HOST_BUNDLE_NAME=<(native_messaging_host_bundle_name)',
+ 'REMOTE_ASSISTANCE_HOST_BUNDLE_NAME=<(remote_assistance_host_bundle_name)',
+ 'PREFPANE_BUNDLE_NAME=<(prefpane_bundle_name)',
],
'inputs': [
'host/installer/build-installer-archive.py',
Modified: trunk/src/remoting/tools/get_mac_crd_version.sh
==============================================================================
--- trunk/src/remoting/tools/get_mac_crd_version.sh (original)
+++ trunk/src/remoting/tools/get_mac_crd_version.sh Thu Mar 27 22:22:00 2014
@@ -4,10 +4,10 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-ME2ME_HOST="/Library/PrivilegedHelperTools/
org.chromium.chromoting.me2me_host.app"
+ME2ME_HOST="/Library/PrivilegedHelperTools/ChromeRemoteDesktopHost.bundle"
UNINSTALLER_CHROME="/Applications/Chrome Remote Desktop Host Uninstaller.app"
UNINSTALLER_CHROMIUM="/Applications/Chromoting Host Uninstaller.app"
-PREFPANE="/Library/PreferencePanes/org.chromium.chromoting.prefPane"
+PREFPANE="/Library/PreferencePanes/ChromeRemoteDesktop.prefPane"
KEYSTONE="/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle"
INFO_PLIST="Contents/Info.plist"
Modified: trunk/src/remoting/tools/register_local_nm_hosts.sh
==============================================================================
--- trunk/src/remoting/tools/register_local_nm_hosts.sh (original)
+++ trunk/src/remoting/tools/register_local_nm_hosts.sh Thu Mar 27 22:22:00 2014
@@ -34,12 +34,12 @@
install_manifest \
"${SRC_DIR}/remoting/host/setup/${ME2ME_HOST_NAME}.json.jinja2" \
- "${build_dir}/remoting_native_messaging_host" \
+ "${build_dir}/native_messaging_host" \
ME2ME_HOST_PATH "${chrome_data_dir}"
install_manifest \
"${SRC_DIR}/remoting/host/it2me/${IT2ME_HOST_NAME}.json.jinja2" \
- "${build_dir}/remoting_it2me_native_messaging_host" \
+ "${build_dir}/remote_assistance_host" \
IT2ME_HOST_PATH "${chrome_data_dir}"
}