| 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) {
|
|
|