Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #import "chrome/browser/mac/keystone_glue.h" | 5 #import "chrome/browser/mac/keystone_glue.h" |
| 6 | 6 |
| 7 #include <sys/param.h> | 7 #include <sys/param.h> |
| 8 #include <sys/mount.h> | 8 #include <sys/mount.h> |
| 9 | 9 |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 34 // updates to Chrome.) | 34 // updates to Chrome.) |
| 35 | 35 |
| 36 #if defined(GOOGLE_CHROME_BUILD) | 36 #if defined(GOOGLE_CHROME_BUILD) |
| 37 #define kBrandFileName @"Google Chrome Brand.plist"; | 37 #define kBrandFileName @"Google Chrome Brand.plist"; |
| 38 #elif defined(CHROMIUM_BUILD) | 38 #elif defined(CHROMIUM_BUILD) |
| 39 #define kBrandFileName @"Chromium Brand.plist"; | 39 #define kBrandFileName @"Chromium Brand.plist"; |
| 40 #else | 40 #else |
| 41 #error Unknown branding | 41 #error Unknown branding |
| 42 #endif | 42 #endif |
| 43 | 43 |
| 44 #if defined(GOOGLE_CHROME_BUILD) | |
| 45 #define kMasterPreferencesFileName @"Google Chrome Master Preferences"; | |
|
Mark Mentovai
2011/08/24 21:37:31
You equipped this for a separate master preference
| |
| 46 #elif defined(CHROMIUM_BUILD) | |
| 47 #define kMasterPreferencesFileName @"Chromium Master Preferences"; | |
| 48 #else | |
| 49 #error Unknown branding | |
| 50 #endif | |
| 51 | |
| 44 // These directories are hardcoded in Keystone promotion preflight and the | 52 // These directories are hardcoded in Keystone promotion preflight and the |
| 45 // Keystone install script, so NSSearchPathForDirectoriesInDomains isn't used | 53 // Keystone install script, so NSSearchPathForDirectoriesInDomains isn't used |
| 46 // since the scripts couldn't use anything like that. | 54 // since the scripts couldn't use anything like that. |
| 47 NSString* kBrandUserFile = @"~/Library/Google/" kBrandFileName; | 55 NSString* kBrandUserFile = @"~/Library/Google/" kBrandFileName; |
| 48 NSString* kBrandSystemFile = @"/Library/Google/" kBrandFileName; | 56 NSString* kBrandSystemFile = @"/Library/Google/" kBrandFileName; |
| 57 // Only support a system-level master preferences file. | |
| 58 NSString* kMasterPreferencesFile | |
| 59 = @"/Library/Google/" kMasterPreferencesFileName; | |
| 49 | 60 |
| 50 NSString* UserBrandFilePath() { | 61 NSString* UserBrandFilePath() { |
| 51 return [kBrandUserFile stringByStandardizingPath]; | 62 return [kBrandUserFile stringByStandardizingPath]; |
| 52 } | 63 } |
| 53 NSString* SystemBrandFilePath() { | 64 NSString* SystemBrandFilePath() { |
| 54 return [kBrandSystemFile stringByStandardizingPath]; | 65 return [kBrandSystemFile stringByStandardizingPath]; |
| 55 } | 66 } |
| 56 | 67 |
| 57 // Adaptor for scheduling an Objective-C method call on a |WorkerPool| | 68 // Adaptor for scheduling an Objective-C method call on a |WorkerPool| |
| 58 // thread. | 69 // thread. |
| (...skipping 851 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 910 if (appPath != appPath_) { | 921 if (appPath != appPath_) { |
| 911 [appPath_ release]; | 922 [appPath_ release]; |
| 912 appPath_ = [appPath copy]; | 923 appPath_ = [appPath copy]; |
| 913 } | 924 } |
| 914 } | 925 } |
| 915 | 926 |
| 916 @end // @implementation KeystoneGlue | 927 @end // @implementation KeystoneGlue |
| 917 | 928 |
| 918 namespace keystone_glue { | 929 namespace keystone_glue { |
| 919 | 930 |
| 931 FilePath MasterPrefsPath() { | |
| 932 return FilePath([[kMasterPreferencesFile stringByStandardizingPath] | |
|
Mark Mentovai
2011/08/23 16:25:12
stringByStandardizingPath doesn’t gain anything he
| |
| 933 fileSystemRepresentation]); | |
| 934 } | |
| 935 | |
| 936 std::string BrandCode() { | |
| 937 KeystoneGlue* keystoneGlue = [KeystoneGlue defaultKeystoneGlue]; | |
|
Mark Mentovai
2011/08/23 16:25:12
Name things like keystone_glue. You‘re not in an @
| |
| 938 NSString* brand_path = [keystoneGlue brandFilePath]; | |
| 939 | |
| 940 if (![brand_path length]) | |
| 941 return std::string(); | |
| 942 | |
| 943 NSString* brand_code = | |
|
Mark Mentovai
2011/08/23 16:25:12
On which thread will this be called? Remember, we
Avi (use Gerrit)
2011/08/24 20:38:36
This is called only on the first run, on the main
| |
| 944 [NSString stringWithContentsOfFile:brand_path | |
| 945 encoding:NSASCIIStringEncoding | |
| 946 error:nil]; | |
| 947 if (!brand_code) | |
| 948 return std::string(); | |
| 949 | |
| 950 return base::SysNSStringToUTF8(brand_code); | |
|
TVL
2011/08/23 16:51:31
We're also paying a lot in conversions ASC -> NSS
| |
| 951 } | |
| 952 | |
| 920 bool KeystoneEnabled() { | 953 bool KeystoneEnabled() { |
| 921 return [KeystoneGlue defaultKeystoneGlue] != nil; | 954 return [KeystoneGlue defaultKeystoneGlue] != nil; |
| 922 } | 955 } |
| 923 | 956 |
| 924 string16 CurrentlyInstalledVersion() { | 957 string16 CurrentlyInstalledVersion() { |
| 925 KeystoneGlue* keystoneGlue = [KeystoneGlue defaultKeystoneGlue]; | 958 KeystoneGlue* keystoneGlue = [KeystoneGlue defaultKeystoneGlue]; |
| 926 NSString* version = [keystoneGlue currentlyInstalledVersion]; | 959 NSString* version = [keystoneGlue currentlyInstalledVersion]; |
| 927 return base::SysNSStringToUTF16(version); | 960 return base::SysNSStringToUTF16(version); |
| 928 } | 961 } |
| 929 | 962 |
| 930 } // namespace keystone_glue | 963 } // namespace keystone_glue |
| OLD | NEW |