Chromium Code Reviews| Index: chrome/browser/ui/webui/chromeos/login/network_screen_handler.h |
| diff --git a/chrome/browser/ui/webui/chromeos/login/network_screen_handler.h b/chrome/browser/ui/webui/chromeos/login/network_screen_handler.h |
| index 58b2b6011765f54bae4f63e8e70e74ae98053e9a..5826048da2473b66ffe4a0a0f4239f91078c31cb 100644 |
| --- a/chrome/browser/ui/webui/chromeos/login/network_screen_handler.h |
| +++ b/chrome/browser/ui/webui/chromeos/login/network_screen_handler.h |
| @@ -9,6 +9,7 @@ |
| #include "base/compiler_specific.h" |
| #include "base/memory/scoped_ptr.h" |
| +#include "chrome/browser/chromeos/base/locale_util.h" |
| #include "chrome/browser/chromeos/login/screens/network_screen_actor.h" |
| #include "chrome/browser/chromeos/settings/cros_settings.h" |
| #include "chrome/browser/ui/webui/chromeos/login/base_screen_handler.h" |
| @@ -55,10 +56,10 @@ class NetworkScreenHandler : public NetworkScreenActor, |
| virtual void InputMethodChanged(input_method::InputMethodManager* manager, |
| bool show_message) OVERRIDE; |
| + private: |
| // Reloads localized contents. |
| void ReloadLocalizedContent(); |
| - private: |
| // Handles moving off the screen. |
| void HandleOnExit(); |
| @@ -68,9 +69,7 @@ class NetworkScreenHandler : public NetworkScreenActor, |
| // Async callback after ReloadResourceBundle(locale) completed. |
| static void OnLanguageChangedCallback( |
|
dzhioev (left Google)
2014/10/02 14:12:10
Let's make it non-static.
Alexander Alekseev
2014/10/02 19:05:03
Done.
|
| scoped_ptr<NetworkScreenHandlerOnLanguageChangedCallbackData> context, |
|
dzhioev (left Google)
2014/10/02 14:12:10
Also I suggest to get rid of this parameter. You c
Alexander Alekseev
2014/10/02 19:05:03
We do not need it.
|
| - const std::string& requested_locale, |
| - const std::string& loaded_locale, |
| - const bool success); |
| + scoped_ptr<locale_util::LanguageSwitchResult> result); |
| // Handles change of the input method. |
| void HandleOnInputMethodChanged(const std::string& id); |
| @@ -84,6 +83,17 @@ class NetworkScreenHandler : public NetworkScreenActor, |
| // Returns available timezones. Caller gets the ownership. |
| static base::ListValue* GetTimezoneList(); |
| + // Starts resolving language list on BlockingPool. |
| + void ScheduleResolveLanguageList( |
| + scoped_ptr<locale_util::LanguageSwitchResult> language_switch_result); |
| + |
| + // Callback for chromeos::ResolveUILanguageList() (from l10n_util). |
| + static void OnLanguageListResolved( |
|
dzhioev (left Google)
2014/10/02 14:12:10
Let's make it non-static.
Alexander Alekseev
2014/10/02 19:05:03
Done.
|
| + base::WeakPtr<NetworkScreenHandler> self, |
| + scoped_ptr<base::ListValue> new_language_list, |
| + std::string new_language_list_locale, |
| + std::string new_selected_language); |
| + |
| NetworkScreenActor::Delegate* screen_; |
| CoreOobeActor* core_oobe_actor_; |
| @@ -100,6 +110,11 @@ class NetworkScreenHandler : public NetworkScreenActor, |
| // The exact language code selected by user in the menu. |
| std::string selected_language_code_; |
| + // Creation of language list happens on Blocking Pool, so we cache resolved |
| + // data. |
| + std::string language_list_locale_; |
| + scoped_ptr<base::ListValue> language_list_; |
| + |
| base::WeakPtrFactory<NetworkScreenHandler> weak_ptr_factory_; |
| DISALLOW_COPY_AND_ASSIGN(NetworkScreenHandler); |