Chromium Code Reviews| Index: extensions/shell/app/shell_main_delegate.cc |
| diff --git a/extensions/shell/app/shell_main_delegate.cc b/extensions/shell/app/shell_main_delegate.cc |
| index 69f0e6181b661fb1d15aec4b6a4fca096d28abe4..51390f9f95d6aa08ec12828cd28d785ca9543411 100644 |
| --- a/extensions/shell/app/shell_main_delegate.cc |
| +++ b/extensions/shell/app/shell_main_delegate.cc |
| @@ -22,6 +22,11 @@ |
| #include "chromeos/chromeos_paths.h" |
| #endif |
| +#if defined(OS_MACOSX) |
| +#include "base/mac/foundation_util.h" |
| +#include "extensions/shell/app/paths_mac.h" |
| +#endif |
| + |
| #if !defined(DISABLE_NACL) |
| #include "components/nacl/common/nacl_switches.h" |
| #if defined(OS_LINUX) |
| @@ -46,6 +51,21 @@ void InitLogging() { |
| logging::SetLogItems(true, true, true, true); |
| } |
| +// Returns the path to the extensions_shell_and_test.pak file. |
| +base::FilePath GetResourcesPakFilePath() { |
| +#if defined(OS_MACOSX) |
| + return base::mac::PathForFrameworkBundleResource( |
| + CFSTR("extensions_shell_and_test.pak")); |
|
tapted
2014/12/17 08:05:15
I think this approach won't handle the way mac doe
Yoyo Zhou
2014/12/18 02:38:33
Right, I think we don't need locales right now. Fo
|
| +#else |
| + base::FilePath extensions_shell_and_test_pak_path; |
| + PathService::Get(base::DIR_MODULE, &extensions_shell_and_test_pak_path); |
| + extensions_shell_and_test_pak_path = |
| + extensions_shell_and_test_pak_path.AppendASCII( |
| + "extensions_shell_and_test.pak"); |
| + return extensions_shell_and_test_pak_path; |
| +#endif // OS_MACOSX |
| +} |
| + |
| } // namespace |
| namespace extensions { |
| @@ -61,6 +81,12 @@ bool ShellMainDelegate::BasicStartupComplete(int* exit_code) { |
| content_client_.reset(CreateContentClient()); |
| SetContentClient(content_client_.get()); |
| +#if defined(OS_MACOSX) |
| + OverrideChildProcessFilePath(); |
| + // This must happen before InitializeResourceBundle. |
| + OverrideFrameworkBundlePath(); |
| +#endif |
| + |
| #if defined(OS_CHROMEOS) |
| chromeos::RegisterPathProvider(); |
| #endif |
| @@ -124,11 +150,8 @@ ShellMainDelegate::CreateShellContentUtilityClient() { |
| } |
| void ShellMainDelegate::InitializeResourceBundle() { |
| - base::FilePath extensions_shell_and_test_pak_path; |
| - PathService::Get(base::DIR_MODULE, &extensions_shell_and_test_pak_path); |
| ui::ResourceBundle::InitSharedInstanceWithPakPath( |
| - extensions_shell_and_test_pak_path.AppendASCII( |
| - "extensions_shell_and_test.pak")); |
| + GetResourcesPakFilePath()); |
| } |
| // static |