| Index: chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.cc
|
| diff --git a/chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.cc b/chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.cc
|
| index 50295aa8e4c55d969d08229fa01d05dc5bcadab1..4ab1f181d0306e39e6e191dc19f1d05fd1a5bdc2 100644
|
| --- a/chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.cc
|
| +++ b/chrome/browser/ui/webui/chromeos/login/kiosk_app_menu_handler.cc
|
| @@ -37,14 +37,18 @@ const int kMaxAppIconSize = 160;
|
|
|
| } // namespace
|
|
|
| -KioskAppMenuHandler::KioskAppMenuHandler()
|
| +KioskAppMenuHandler::KioskAppMenuHandler(
|
| + const scoped_refptr<NetworkStateInformer>& network_state_informer)
|
| : weak_ptr_factory_(this),
|
| - is_webui_initialized_(false) {
|
| + is_webui_initialized_(false),
|
| + network_state_informer_(network_state_informer) {
|
| KioskAppManager::Get()->AddObserver(this);
|
| + network_state_informer_->AddObserver(this);
|
| }
|
|
|
| KioskAppMenuHandler::~KioskAppMenuHandler() {
|
| KioskAppManager::Get()->RemoveObserver(this);
|
| + network_state_informer_->RemoveObserver(this);
|
| }
|
|
|
| void KioskAppMenuHandler::GetLocalizedStrings(
|
| @@ -133,6 +137,7 @@ void KioskAppMenuHandler::HandleInitializeKioskApps(
|
| const base::ListValue* args) {
|
| is_webui_initialized_ = true;
|
| SendKioskApps();
|
| + UpdateState(ErrorScreenActor::ERROR_REASON_UPDATE);
|
| }
|
|
|
| void KioskAppMenuHandler::HandleKioskAppsLoaded(
|
| @@ -165,4 +170,9 @@ void KioskAppMenuHandler::OnKioskAppDataChanged(const std::string& app_id) {
|
| SendKioskApps();
|
| }
|
|
|
| +void KioskAppMenuHandler::UpdateState(ErrorScreenActor::ErrorReason reason) {
|
| + if (network_state_informer_->state() == NetworkStateInformer::ONLINE)
|
| + KioskAppManager::Get()->RetryFailedAppDataFetch();
|
| +}
|
| +
|
| } // namespace chromeos
|
|
|