Chromium Code Reviews| Index: ui/base/test/run_all_unittests.cc |
| diff --git a/ui/base/test/run_all_unittests.cc b/ui/base/test/run_all_unittests.cc |
| index 0f94dacdeaf72ba90ac4f7d6ec7fb7c4f0a7d2b6..d6e3c408fe36df3335d7a428724633a9723b5123 100644 |
| --- a/ui/base/test/run_all_unittests.cc |
| +++ b/ui/base/test/run_all_unittests.cc |
| @@ -52,27 +52,34 @@ void UIBaseTestSuite::Initialize() { |
| ui::RegisterPathProvider(); |
| gfx::RegisterPathProvider(); |
| + base::FilePath exe_path; |
| + PathService::Get(base::DIR_EXE, &exe_path); |
| + |
| #if defined(OS_MACOSX) && !defined(OS_IOS) |
| - // Look in the framework bundle for resources. |
| - // TODO(port): make a resource bundle for non-app exes. What's done here |
| - // isn't really right because this code needs to depend on chrome_dll |
| - // being built. This is inappropriate in app. |
| - base::FilePath path; |
| - PathService::Get(base::DIR_EXE, &path); |
| -#if defined(GOOGLE_CHROME_BUILD) |
| - path = path.AppendASCII("Google Chrome Framework.framework"); |
| -#elif defined(CHROMIUM_BUILD) |
| - path = path.AppendASCII("Chromium Framework.framework"); |
| -#else |
| -#error Unknown branding |
| -#endif |
| - base::mac::SetOverrideFrameworkBundlePath(path); |
| -#endif // defined(OS_MACOSX) && !defined(OS_IOS) |
| + // On Mac, a test Framework bundle is created that links locale.pak and |
| + // chrome_100_percent.pak at the appropriate places to ui_test.pak. |
| + base::mac::SetOverrideFrameworkBundlePath( |
| + exe_path.AppendASCII("ui_unittests Framework.framework")); |
| + ui::ResourceBundle::InitSharedInstanceWithLocale("en-US", NULL); |
| - // TODO(tfarina): This loads chrome_100_percent.pak and thus introduces a |
| - // dependency on chrome/, we don't want that here, so change this to |
| - // InitSharedInstanceWithPakPath(). |
| +#elif defined(OS_IOS) || defined(OS_ANDROID) |
| + // On iOS, the ui_unittests binary is itself a mini bundle, with resources |
| + // built in. On Android, ui_unittests_apk provides the necessary framework. |
| ui::ResourceBundle::InitSharedInstanceWithLocale("en-US", NULL); |
|
tfarina
2014/02/28 22:44:58
this still depends on chrome_100_percent.pak inter
tapted
2014/03/03 12:40:40
This line now only gets executed on iOS and Androi
|
| + |
| +#else |
| + // On other platforms, the (hardcoded) paths for chrome_100_percent.pak and |
| + // locale.pak get populated by later build steps. To avoid clobbering them, |
| + // load the test .pak files directly. |
| + ui::ResourceBundle::InitSharedInstanceWithPakPath( |
| + exe_path.Append(FILE_PATH_LITERAL("ui_test.pak"))); |
|
tfarina
2014/02/28 22:44:58
could you change to AppendASCII?
tapted
2014/03/03 12:40:40
Done.
|
| + |
| + // ui_unittests can't depend on the locales folder which Chrome will make |
| + // later, so use the path created by ui_unittest_strings. |
| + PathService::Override( |
| + ui::DIR_LOCALES, |
| + exe_path.Append(FILE_PATH_LITERAL("ui_unittests_strings"))); |
|
tfarina
2014/02/28 22:44:58
could you change to AppendASCII?
tapted
2014/03/03 12:40:40
Done.
|
| +#endif |
| } |
| void UIBaseTestSuite::Shutdown() { |