| 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..9d40ebbf0bebea7abdadf13f89dd3be4de5404c2 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);
|
| +
|
| +#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.AppendASCII("ui_test.pak"));
|
| +
|
| + // 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.AppendASCII("ui_unittests_strings"));
|
| +#endif
|
| }
|
|
|
| void UIBaseTestSuite::Shutdown() {
|
|
|