| 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(
|
| scoped_ptr<NetworkScreenHandlerOnLanguageChangedCallbackData> context,
|
| - 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(
|
| + 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);
|
|
|