Index: chrome/browser/chromeos/app_mode/kiosk_app_manager.cc |
diff --git a/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc b/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc |
index 3dff8f1607ec049bde2683d9ba65d7c4e0860062..50df6605785354853c1fe86e3c05470d752e73f8 100644 |
--- a/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc |
+++ b/chrome/browser/chromeos/app_mode/kiosk_app_manager.cc |
@@ -356,6 +356,13 @@ void KioskAppManager::UpdateAppDataFromProfile( |
app_data->LoadFromInstalledApp(profile, app); |
} |
+void KioskAppManager::RetryFailedAppDataFetch() { |
+ for (size_t i = 0; i < apps_.size(); ++i) { |
+ if (apps_[i]->status() == KioskAppData::STATUS_ERROR) |
+ apps_[i]->Load(); |
+ } |
+} |
+ |
void KioskAppManager::AddObserver(KioskAppManagerObserver* observer) { |
observers_.AddObserver(observer); |
} |
@@ -469,6 +476,8 @@ void KioskAppManager::UpdateAppData() { |
prefs->Set(apps_[i]->app_id(), new base::DictionaryValue); |
external_cache_->UpdateExtensionsList(prefs.Pass()); |
+ RetryFailedAppDataFetch(); |
+ |
FOR_EACH_OBSERVER(KioskAppManagerObserver, observers_, |
OnKioskAppsSettingsChanged()); |
} |