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 |