diff --git a/atom/app/atom_main_delegate.cc b/atom/app/atom_main_delegate.cc index 0a298308ad0b..655ccce2e35b 100644 --- a/atom/app/atom_main_delegate.cc +++ b/atom/app/atom_main_delegate.cc @@ -83,6 +83,10 @@ bool AtomMainDelegate::BasicStartupComplete(int* exit_code) { chrome::RegisterPathProvider(); +#if defined(OS_MACOSX) + SetUpBundleOverrides(); +#endif + return brightray::MainDelegate::BasicStartupComplete(exit_code); } diff --git a/atom/app/atom_main_delegate.h b/atom/app/atom_main_delegate.h index 5f4369302f5f..8f2976a9cd1b 100644 --- a/atom/app/atom_main_delegate.h +++ b/atom/app/atom_main_delegate.h @@ -31,6 +31,10 @@ class AtomMainDelegate : public brightray::MainDelegate { #endif private: +#if defined(OS_MACOSX) + void SetUpBundleOverrides(); +#endif + brightray::ContentClient content_client_; scoped_ptr browser_client_; scoped_ptr renderer_client_; diff --git a/atom/app/atom_main_delegate_mac.mm b/atom/app/atom_main_delegate_mac.mm index 33a8dea4aabb..b26d5f46f644 100644 --- a/atom/app/atom_main_delegate_mac.mm +++ b/atom/app/atom_main_delegate_mac.mm @@ -7,6 +7,8 @@ #include "base/mac/bundle_locations.h" #include "base/files/file_path.h" #include "base/files/file_util.h" +#include "base/mac/foundation_util.h" +#include "base/mac/scoped_nsautorelease_pool.h" #include "base/path_service.h" #include "brightray/common/application_info.h" #include "brightray/common/mac/main_application_bundle.h" @@ -48,4 +50,10 @@ void AtomMainDelegate::OverrideChildProcessPath() { PathService::Override(content::CHILD_PROCESS_EXE, helper_path); } +void AtomMainDelegate::SetUpBundleOverrides() { + base::mac::ScopedNSAutoreleasePool pool; + NSBundle* base_bundle = brightray::MainApplicationBundle(); + base::mac::SetBaseBundleID([[base_bundle bundleIdentifier] UTF8String]); +} + } // namespace atom