summaryrefslogtreecommitdiffstats
path: root/chrome/installer/gcapi_mac
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-24 19:26:26 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-24 19:26:26 +0000
commit89d4dc272b08346d1a08f2a633cfea0469ba5e30 (patch)
tree4609df8e5627ad2adcb14998b57688979c7063f7 /chrome/installer/gcapi_mac
parentc27541f38b1c115e18869eeffd15a10498966dd0 (diff)
downloadchromium_src-89d4dc272b08346d1a08f2a633cfea0469ba5e30.zip
chromium_src-89d4dc272b08346d1a08f2a633cfea0469ba5e30.tar.gz
chromium_src-89d4dc272b08346d1a08f2a633cfea0469ba5e30.tar.bz2
mac gcapi: Make keystone registration work with existing system keystone and user chrome.
BUG=138849 TEST=gcapi_example on a system with system keystone, but runnin gcapi_example as user. Review URL: https://chromiumcodereview.appspot.com/10446020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138858 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer/gcapi_mac')
-rw-r--r--chrome/installer/gcapi_mac/gcapi.mm10
1 files changed, 8 insertions, 2 deletions
diff --git a/chrome/installer/gcapi_mac/gcapi.mm b/chrome/installer/gcapi_mac/gcapi.mm
index ff246ca..bb56289 100644
--- a/chrome/installer/gcapi_mac/gcapi.mm
+++ b/chrome/installer/gcapi_mac/gcapi.mm
@@ -211,8 +211,14 @@ NSString* PathToKeystoneResources(
}
NSString* FindOrInstallKeystone(NSString* app_path, NSDictionary* info_plist) {
- NSString* ks_path = geteuid() == 0 ?
- kSystemKsadminPath : [kUserKsadminPath stringByExpandingTildeInPath];
+ NSString* ks_path = kSystemKsadminPath;
+
+ // Use user Keystone only if system Keystone doesn't exist /
+ // isn't accessible.
+ if (geteuid() != 0 &&
+ ![[NSFileManager defaultManager] isExecutableFileAtPath:ks_path]) {
+ ks_path = [kUserKsadminPath stringByExpandingTildeInPath];
+ }
// Always run install.py. It won't overwrite an existing keystone, but
// it might update it or repair a broken existing installation.