Index: chrome/common/extensions/extension_l10n_util.cc |
diff --git a/chrome/common/extensions/extension_l10n_util.cc b/chrome/common/extensions/extension_l10n_util.cc |
index 5f94c4dff81d1a68c917a7a62dd454eff4828ac3..f8617888d0d31be661a5d6cb8fcf317fb2c8965c 100644 |
--- a/chrome/common/extensions/extension_l10n_util.cc |
+++ b/chrome/common/extensions/extension_l10n_util.cc |
@@ -237,6 +237,15 @@ void GetAllLocales(std::set<std::string>* all_locales) { |
} |
} |
+void GetAllFallbackLocales(const std::string& application_locale, |
+ const std::string& default_locale, |
+ std::vector<std::string>* all_fallback_locales) { |
+ DCHECK(all_fallback_locales); |
+ if (!application_locale.empty() && application_locale != default_locale) |
+ l10n_util::GetParentLocales(application_locale, all_fallback_locales); |
+ all_fallback_locales->push_back(default_locale); |
+} |
+ |
bool GetValidLocales(const FilePath& locale_path, |
std::set<std::string>* valid_locales, |
std::string* error) { |
@@ -298,11 +307,9 @@ extensions::MessageBundle* LoadMessageCatalogs( |
const std::string& application_locale, |
const std::set<std::string>& valid_locales, |
std::string* error) { |
- // Order locales to load as current_locale, first_parent, ..., default_locale. |
std::vector<std::string> all_fallback_locales; |
- if (!application_locale.empty() && application_locale != default_locale) |
- l10n_util::GetParentLocales(application_locale, &all_fallback_locales); |
- all_fallback_locales.push_back(default_locale); |
+ GetAllFallbackLocales(application_locale, default_locale, |
+ &all_fallback_locales); |
std::vector<linked_ptr<DictionaryValue> > catalogs; |
for (size_t i = 0; i < all_fallback_locales.size(); ++i) { |