if (selected_language_code_.empty()) {
const StartupCustomizationDocument* startup_manifest =
StartupCustomizationDocument::GetInstance();
- HandleOnLanguageChanged(startup_manifest->initial_locale_default());
+ SetApplicationLocale(startup_manifest->initial_locale_default());
}
PrefService* prefs = g_browser_process->local_state();
void NetworkScreenHandler::RegisterMessages() {
AddCallback(kJsApiNetworkOnExit, &NetworkScreenHandler::HandleOnExit);
AddCallback(kJsApiNetworkOnLanguageChanged,
- &NetworkScreenHandler::HandleOnLanguageChanged);
+ &NetworkScreenHandler::SetApplicationLocale);
AddCallback(kJsApiNetworkOnInputMethodChanged,
- &NetworkScreenHandler::HandleOnInputMethodChanged);
+ &NetworkScreenHandler::SetInputMethod);
AddCallback(kJsApiNetworkOnTimezoneChanged,
- &NetworkScreenHandler::HandleOnTimezoneChanged);
+ &NetworkScreenHandler::SetTimezone);
}
AccessibilityManager::Get()->OnLocaleChanged();
}
-void NetworkScreenHandler::HandleOnLanguageChanged(const std::string& locale) {
+std::string NetworkScreenHandler::GetApplicationLocale() const {
+ return locale_;
+}
+
+std::string NetworkScreenHandler::GetInputMethod() const {
+ return input_method_;
+}
+
+std::string NetworkScreenHandler::GetTimezone() const {
+ return timezone_;
+}
+
+void NetworkScreenHandler::SetApplicationLocale(const std::string& locale) {
const std::string app_locale = g_browser_process->GetApplicationLocale();
if (app_locale == locale)
return;
+ locale_ = locale;
base::WeakPtr<NetworkScreenHandler> weak_self =
weak_ptr_factory_.GetWeakPtr();
scoped_ptr<NetworkScreenHandlerOnLanguageChangedCallbackData> callback_data(
callback.Pass());
}
-void NetworkScreenHandler::HandleOnInputMethodChanged(const std::string& id) {
+void NetworkScreenHandler::SetInputMethod(const std::string& input_method) {
+ input_method_ = input_method;
input_method::InputMethodManager::Get()
->GetActiveIMEState()
- ->ChangeInputMethod(id, false /* show_message */);
+ ->ChangeInputMethod(input_method, false /* show_message */);
}
-void NetworkScreenHandler::HandleOnTimezoneChanged(
+void NetworkScreenHandler::SetTimezone(
const std::string& timezone_id) {
std::string current_timezone_id;
CrosSettings::Get()->GetString(kSystemTimezone, ¤t_timezone_id);
if (current_timezone_id == timezone_id)
return;
+ timezone_ = timezone_id;
CrosSettings::Get()->SetString(kSystemTimezone, timezone_id);
}