Chromium Code Reviews| Index: chrome/browser/extensions/external_component_loader.cc |
| diff --git a/chrome/browser/extensions/external_component_loader.cc b/chrome/browser/extensions/external_component_loader.cc |
| index ecfc18bd44fc9a0558e92dbc6f11fa79f8c52fa4..9d354467fab55d7ccedfcc2a0ac462f904faf5aa 100644 |
| --- a/chrome/browser/extensions/external_component_loader.cc |
| +++ b/chrome/browser/extensions/external_component_loader.cc |
| @@ -5,6 +5,8 @@ |
| #include "chrome/browser/extensions/external_component_loader.h" |
| #include "base/command_line.h" |
| +#include "base/i18n/case_conversion.h" |
| +#include "base/metrics/field_trial.h" |
| #include "base/prefs/pref_change_registrar.h" |
| #include "base/prefs/pref_service.h" |
| #include "base/values.h" |
| @@ -16,6 +18,7 @@ |
| #include "chrome/common/pref_names.h" |
| #include "components/user_prefs/pref_registry_syncable.h" |
| #include "content/public/browser/browser_thread.h" |
| +#include "ui/base/l10n/l10n_util.h" |
| namespace extensions { |
| @@ -58,6 +61,26 @@ void ExternalComponentLoader::StartLoading() { |
| prefs_->SetString(appId + ".external_update_url", |
| extension_urls::GetWebstoreUpdateUrl().spec()); |
| + std::string group = base::FieldTrialList::FindFullName("VoiceTrigger"); |
| + std::string locale = |
| +#if defined(OS_CHROMEOS) |
| + // On ChromeOS locale is per-profile. |
| + profile_->GetPrefs()->GetString(prefs::kApplicationLocale); |
| +#else |
| + g_browser_process->GetApplicationLocale(); |
| +#endif |
|
asargent_no_longer_on_chrome
2014/01/30 00:22:56
optional: would it make sense to have a common met
rpetterson
2014/01/30 00:46:09
Yes, I actually have plans to do this in another C
|
| + // Only available for English now. |
| + std::string normalized_locale = l10n_util::NormalizeLocale(locale); |
| + bool locale_available = |
| + !(strcmp(normalized_locale.c_str(), "en")) || |
| + !(strcmp(normalized_locale.c_str(), "en_us")) || |
| + !(strcmp(normalized_locale.c_str(), "en_US")); |
|
asargent_no_longer_on_chrome
2014/01/30 00:22:56
optional: consider using base::EqualsASCII for the
rpetterson
2014/01/30 00:46:09
That's correct. We only want the ones listed at th
|
| + if (group != "" && group != "Disabled" && locale_available) { |
|
asargent_no_longer_on_chrome
2014/01/30 00:22:56
optional: consider using
!group.empty()
inst
rpetterson
2014/01/30 00:46:09
Done.
|
| + std::string hotwordId = extension_misc::kHotwordExtensionId; |
| + prefs_->SetString(hotwordId + ".external_update_url", |
| + extension_urls::GetWebstoreUpdateUrl().spec()); |
| + } |
| + |
| if (CommandLine::ForCurrentProcess()-> |
| GetSwitchValueASCII(switches::kEnableEnhancedBookmarks) != "0") { |
| std::string ext_id = GetEnhancedBookmarksExtensionId(); |