mac: Allow modifying helper app's name

This commit is contained in:
Cheng Zhao 2015-04-14 13:51:08 +08:00
parent 74be99de31
commit 4353c6d402

View file

@ -6,7 +6,9 @@
#include "base/mac/bundle_locations.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/path_service.h"
#include "brightray/common/application_info.h"
#include "brightray/common/mac/main_application_bundle.h"
#include "content/public/common/content_paths.h"
@ -19,6 +21,14 @@ base::FilePath GetFrameworksPath() {
.Append("Frameworks");
}
base::FilePath GetHeleprAppPath(const base::FilePath& frameworks_path,
const std::string& name) {
return frameworks_path.Append(name + " Helper.app")
.Append("Contents")
.Append("MacOS")
.Append(name + " Helper");
}
} // namespace
void AtomMainDelegate::OverrideFrameworkBundlePath() {
@ -27,11 +37,13 @@ void AtomMainDelegate::OverrideFrameworkBundlePath() {
}
void AtomMainDelegate::OverrideChildProcessPath() {
base::FilePath helper_path =
GetFrameworksPath().Append(PRODUCT_NAME " Helper.app")
.Append("Contents")
.Append("MacOS")
.Append(PRODUCT_NAME " Helper");
base::FilePath frameworks_path = GetFrameworksPath();
base::FilePath helper_path = GetHeleprAppPath(frameworks_path, PRODUCT_NAME);
if (!base::PathExists(helper_path))
helper_path = GetHeleprAppPath(frameworks_path,
brightray::GetApplicationName());
if (!base::PathExists(helper_path))
LOG(FATAL) << "Unable to find helper app";
PathService::Override(content::CHILD_PROCESS_EXE, helper_path);
}