Chromium Code Reviews| 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; |
| } |