Index: chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.cc |
diff --git a/chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.cc b/chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.cc |
index bd943f42ca425cc3cf8787394efd2955eb66e1aa..cd84f960a4e65a3bea9b8b146771b62960629c96 100644 |
--- a/chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.cc |
+++ b/chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.cc |
@@ -4,25 +4,37 @@ |
#include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.h" |
+#include "base/bind.h" |
#include "base/lazy_instance.h" |
#include "base/logging.h" |
#include "chrome/browser/chromeos/dbus/dbus_thread_manager.h" |
+#include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_helper.h" |
#include "chrome/browser/chromeos/login/user_manager.h" |
#include "chrome/browser/chromeos/ui/screensaver_extension_dialog.h" |
#include "chrome/common/chrome_notification_types.h" |
#include "content/public/browser/notification_service.h" |
-namespace { |
+namespace chromeos { |
-// This (along with screensaver location) will change once we have the |
-// retail mode enterprise policy set up. |
-const int64 kScreensaverIdleTimeout = 60; |
+KioskModeScreensaver::KioskModeScreensaver() { |
+ if (chromeos::KioskModeHelper::Get()->is_initialized()) |
+ Setup(); |
+ else |
pastarmovj
2012/03/05 15:22:25
curlies here because and above.
rkc
2012/03/16 00:17:33
Done.
|
+ chromeos::KioskModeHelper::Get()->Initialize( |
+ base::Bind(&KioskModeScreensaver::Setup, |
+ base::Unretained(this))); |
-} // namespace |
+} |
-namespace chromeos { |
+KioskModeScreensaver::~KioskModeScreensaver() { |
+ chromeos::PowerManagerClient* power_manager = |
+ chromeos::DBusThreadManager::Get()->GetPowerManagerClient(); |
+ if (power_manager->HasObserver(this)) |
+ power_manager->RemoveObserver(this); |
+} |
+ |
+void KioskModeScreensaver::Setup() { |
-KioskModeScreensaver::KioskModeScreensaver() { |
// We should NOT be created if already logged in. |
CHECK(!chromeos::UserManager::Get()->user_is_logged_in()); |
@@ -36,15 +48,9 @@ KioskModeScreensaver::KioskModeScreensaver() { |
power_manager->AddObserver(this); |
// Register for the next Idle for kScreensaverIdleTimeout event. |
- chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> |
- RequestIdleNotification(kScreensaverIdleTimeout * 1000); |
-} |
- |
-KioskModeScreensaver::~KioskModeScreensaver() { |
- chromeos::PowerManagerClient* power_manager = |
- chromeos::DBusThreadManager::Get()->GetPowerManagerClient(); |
- if (power_manager->HasObserver(this)) |
- power_manager->RemoveObserver(this); |
+ chromeos::DBusThreadManager::Get()-> |
+ GetPowerManagerClient()->RequestIdleNotification( |
+ chromeos::KioskModeHelper::Get()->GetScreensaverTimeout() * 1000); |
} |
// NotificationObserver overrides: |
@@ -63,23 +69,20 @@ void KioskModeScreensaver::Observe( |
} |
void KioskModeScreensaver::IdleNotify(int64 threshold) { |
- // We're idle, next time we go active, we need to know so we can remove |
- // the logout dialog if it's still up. |
- chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> |
- RequestActiveNotification(); |
+ // We're idle; close screensaver when we go active. |
+ chromeos::DBusThreadManager::Get()-> |
+ GetPowerManagerClient()->RequestActiveNotification(); |
browser::ShowScreensaverDialog(); |
} |
void KioskModeScreensaver::ActiveNotify() { |
- // Before anything else, close the logout dialog to prevent restart |
browser::CloseScreensaverDialog(); |
- // Now that we're active, register a request for notification for |
- // the next time we go idle for kScreensaverIdleTimeout seconds. |
- chromeos::DBusThreadManager::Get()->GetPowerManagerClient()-> |
- RequestIdleNotification(kScreensaverIdleTimeout * 1000); |
-} |
+ // Request notification for Idle so we can start up the screensaver. |
+ chromeos::DBusThreadManager::Get()-> |
+ GetPowerManagerClient()->RequestIdleNotification( |
+ chromeos::KioskModeHelper::Get()->GetScreensaverTimeout() * 1000);} |
pastarmovj
2012/03/05 15:22:25
Please put the } on a new line.
rkc
2012/03/16 00:17:33
Code doesn't exist anymore.
Done.
|
static KioskModeScreensaver* g_kiosk_mode_screensaver = NULL; |
@@ -93,7 +96,7 @@ void InitializeKioskModeScreensaver() { |
} |
void ShutdownKioskModeScreensaver() { |
- if (g_kiosk_mode_screensaver) { |
+ if (!g_kiosk_mode_screensaver) { |
LOG(WARNING) << "Screensaver shutdown called when uninitialized."; |
return; |
} |