Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10234)

Unified Diff: chrome/common/mac/app_mode_chrome_locator.mm

Issue 265163006: [Mac] Rebuild app shims when they fail to dyload Chrome Framework. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments. Change to official release shim. Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/mac/app_mode_chrome_locator.mm
diff --git a/chrome/common/mac/app_mode_chrome_locator.mm b/chrome/common/mac/app_mode_chrome_locator.mm
index ac62380cf2fce635039fb9b463e0024a94e2c369..d4af764f9202bfd84bcd222a49e81b6506293a63 100644
--- a/chrome/common/mac/app_mode_chrome_locator.mm
+++ b/chrome/common/mac/app_mode_chrome_locator.mm
@@ -25,6 +25,7 @@ bool FindBundleById(NSString* bundle_id, base::FilePath* out_bundle) {
}
bool GetChromeBundleInfo(const base::FilePath& chrome_bundle,
+ base::FilePath* executable_path,
base::string16* raw_version_str,
base::FilePath* version_path,
base::FilePath* framework_shlib_path) {
@@ -59,7 +60,7 @@ bool GetChromeBundleInfo(const base::FilePath& chrome_bundle,
[cr_bundle objectForInfoDictionaryKey:@"CFBundleExecutable"]);
NSString* cr_framework_shlib_path =
[cr_versioned_path stringByAppendingPathComponent:
- base::SysUTF8ToNSString(chrome::kFrameworkName)];
+ [cr_bundle_exe stringByAppendingString:@" Framework.framework"]];
// chrome::kFrameworkName looks like "$PRODUCT_STRING Framework.framework".
tapted 2014/06/13 11:15:58 nit: update this comment. Probably still worth men
jackhou1 2014/06/14 10:09:33 Done.
// The library itself is at
// "$PRODUCT_STRING Framework.framework/$PRODUCT_STRING Framework", so we cut
@@ -68,8 +69,7 @@ bool GetChromeBundleInfo(const base::FilePath& chrome_bundle,
// in Canary the framework is still called "Google Chrome Framework".
cr_framework_shlib_path =
[cr_framework_shlib_path stringByAppendingPathComponent:
- [base::SysUTF8ToNSString(chrome::kFrameworkName)
- stringByDeletingPathExtension]];
+ [cr_bundle_exe stringByAppendingString:@" Framework"]];
if (!cr_bundle_exe || !cr_framework_shlib_path)
return false;
@@ -82,6 +82,7 @@ bool GetChromeBundleInfo(const base::FilePath& chrome_bundle,
return false;
// Everything OK, copy output parameters.
+ *executable_path = base::mac::NSStringToFilePath([cr_bundle executablePath]);
*raw_version_str = base::SysNSStringToUTF16(cr_version);
*version_path = base::mac::NSStringToFilePath(cr_versioned_path);
*framework_shlib_path =

Powered by Google App Engine
This is Rietveld 408576698