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", |