Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(818)

Unified Diff: chrome/browser/chromeos/app_mode/kiosk_app_update_service.cc

Issue 727363002: Fire notifications when reboot is requested, not scheduled (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@managed_cros
Patch Set: Add missing run_loop.Run(); Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 ea96dd648c7617533ffbaa5b71cc9c453eac2aac..0c0266eade1e5bc13c8dd662c5f6e74bb01da530 100644
--- a/chrome/browser/chromeos/app_mode/kiosk_app_update_service.cc
+++ b/chrome/browser/chromeos/app_mode/kiosk_app_update_service.cc
@@ -34,6 +34,15 @@ KioskAppUpdateService::KioskAppUpdateService(
system::AutomaticRebootManager* automatic_reboot_manager)
: profile_(profile),
automatic_reboot_manager_(automatic_reboot_manager) {
+}
+
+KioskAppUpdateService::~KioskAppUpdateService() {
+}
+
+void KioskAppUpdateService::Init(const std::string& app_id) {
+ DCHECK(app_id_.empty());
+ app_id_ = app_id;
+
ExtensionService* service =
extensions::ExtensionSystem::Get(profile_)->extension_service();
if (service)
@@ -44,9 +53,9 @@ KioskAppUpdateService::KioskAppUpdateService(
if (KioskAppManager::Get())
KioskAppManager::Get()->AddObserver(this);
-}
-KioskAppUpdateService::~KioskAppUpdateService() {
+ if (automatic_reboot_manager_->reboot_requested())
+ OnRebootRequested(automatic_reboot_manager_->reboot_reason());
}
void KioskAppUpdateService::StartAppUpdateRestartTimer() {
@@ -72,6 +81,8 @@ void KioskAppUpdateService::Shutdown() {
service->RemoveUpdateObserver(this);
if (KioskAppManager::Get())
KioskAppManager::Get()->RemoveObserver(this);
+ if (automatic_reboot_manager_)
+ automatic_reboot_manager_->RemoveObserver(this);
}
void KioskAppUpdateService::OnAppUpdateAvailable(
@@ -93,7 +104,7 @@ void KioskAppUpdateService::OnAppUpdateAvailable(
StartAppUpdateRestartTimer();
}
-void KioskAppUpdateService::OnRebootScheduled(Reason reason) {
+void KioskAppUpdateService::OnRebootRequested(Reason reason) {
extensions::core_api::runtime::OnRestartRequired::Reason restart_reason =
extensions::core_api::runtime::OnRestartRequired::REASON_NONE;
switch (reason) {

Powered by Google App Engine
This is Rietveld 408576698