Chromium Code Reviews| 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..138edf8d75d25bc99e68c6461690064be43b5cfc 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,10 @@ KioskAppUpdateService::KioskAppUpdateService( |
| if (automatic_reboot_manager_) |
| automatic_reboot_manager_->AddObserver(this); |
| + |
| + if (KioskAppManager::Get()) { |
| + KioskAppManager::Get()->AddObserver(this); |
| + } |
|
xiyuan
2014/08/23 18:11:57
nit: drop {}
jennyz
2014/08/27 00:58:41
Done.
|
| } |
| KioskAppUpdateService::~KioskAppUpdateService() { |
| @@ -67,6 +71,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 +120,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", |