Chromium Code Reviews| Index: chrome/browser/chromeos/customization_document.cc |
| diff --git a/chrome/browser/chromeos/customization_document.cc b/chrome/browser/chromeos/customization_document.cc |
| index 5edc590719d48e241653fcc8ac7a0a3e21ce5389..11bb72ebcdefb011d955d9150866293ce87b1fba 100644 |
| --- a/chrome/browser/chromeos/customization_document.cc |
| +++ b/chrome/browser/chromeos/customization_document.cc |
| @@ -109,6 +109,10 @@ enum HistogramServicesCustomizationLoadResult { |
| HISTOGRAM_LOAD_RESULT_MAX_VALUE = 4 |
| }; |
| +// In tests we need to enforce initial settings. |
| +const char* enforce_initial_locale = NULL; |
| +const char* enforce_keyboard_layout = NULL; |
| + |
| void LogManifestLoadResult(HistogramServicesCustomizationLoadResult result) { |
| UMA_HISTOGRAM_ENUMERATION("ServicesCustomization.LoadResult", |
| result, |
| @@ -286,6 +290,12 @@ void StartupCustomizationDocument::Init( |
| root_->GetString(kInitialTimezoneAttr, &initial_timezone_); |
| root_->GetString(kKeyboardLayoutAttr, &keyboard_layout_); |
| + if (enforce_initial_locale) |
|
Dmitry Polukhin
2014/09/30 09:29:54
You override before and after checking machine sta
|
| + initial_locale_ = enforce_initial_locale; |
| + |
| + if (enforce_keyboard_layout) |
| + keyboard_layout_ = enforce_keyboard_layout; |
| + |
| std::string hwid; |
| if (statistics_provider->GetMachineStatistic( |
| system::kHardwareClassKey, &hwid)) { |
| @@ -327,6 +337,12 @@ void StartupCustomizationDocument::Init( |
| &initial_timezone_); |
| statistics_provider->GetMachineStatistic(kKeyboardLayoutAttr, |
| &keyboard_layout_); |
| + if (enforce_initial_locale) |
| + initial_locale_ = enforce_initial_locale; |
| + |
| + if (enforce_keyboard_layout) |
| + keyboard_layout_ = enforce_keyboard_layout; |
| + |
| configured_locales_.resize(0); |
| base::SplitString(initial_locale_, ',', &configured_locales_); |
| @@ -964,4 +980,12 @@ void ServicesCustomizationDocument::ApplyingTaskFinished(bool success) { |
| SetApplied(true); |
| } |
| +void SetEnforceInitialLocaleForTesting(const char* locale) { |
| + enforce_initial_locale = locale; |
| +} |
| + |
| +void SetEnforceInitialKeyboardForTesting(const char* keyboard) { |
| + enforce_keyboard_layout = keyboard; |
| +} |
| + |
| } // namespace chromeos |