| Index: chrome/browser/chromeos/app_mode/kiosk_app_update_service.cc
|
| diff --git a/chrome/browser/chromeos/app_mode/kiosk_app_update_service.cc b/chrome/browser/chromeos/app_mode/kiosk_app_update_service.cc
|
| index dee3532c6c1dccffa5639db659c0640f440256cc..ea96dd648c7617533ffbaa5b71cc9c453eac2aac 100644
|
| --- a/chrome/browser/chromeos/app_mode/kiosk_app_update_service.cc
|
| +++ b/chrome/browser/chromeos/app_mode/kiosk_app_update_service.cc
|
| @@ -41,6 +41,9 @@ KioskAppUpdateService::KioskAppUpdateService(
|
|
|
| if (automatic_reboot_manager_)
|
| automatic_reboot_manager_->AddObserver(this);
|
| +
|
| + if (KioskAppManager::Get())
|
| + KioskAppManager::Get()->AddObserver(this);
|
| }
|
|
|
| KioskAppUpdateService::~KioskAppUpdateService() {
|
| @@ -67,6 +70,8 @@ void KioskAppUpdateService::Shutdown() {
|
| extensions::ExtensionSystem::Get(profile_)->extension_service();
|
| if (service)
|
| service->RemoveUpdateObserver(this);
|
| + if (KioskAppManager::Get())
|
| + KioskAppManager::Get()->RemoveObserver(this);
|
| }
|
|
|
| void KioskAppUpdateService::OnAppUpdateAvailable(
|
| @@ -114,6 +119,18 @@ void KioskAppUpdateService::WillDestroyAutomaticRebootManager() {
|
| automatic_reboot_manager_ = NULL;
|
| }
|
|
|
| +void KioskAppUpdateService::OnKioskAppCacheUpdated(const std::string& app_id) {
|
| + if (app_id != app_id_)
|
| + return;
|
| +
|
| + extensions::RuntimeEventRouter::DispatchOnRestartRequiredEvent(
|
| + profile_,
|
| + app_id_,
|
| + extensions::core_api::runtime::OnRestartRequired::REASON_APP_UPDATE);
|
| +
|
| + StartAppUpdateRestartTimer();
|
| +}
|
| +
|
| KioskAppUpdateServiceFactory::KioskAppUpdateServiceFactory()
|
| : BrowserContextKeyedServiceFactory(
|
| "KioskAppUpdateService",
|
|
|