blob: 26c6988db3a7f5a22bcc63a050f942cb8b78df17 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/chromeos/power/session_state_controller_delegate_chromeos.h"
#include "base/logging.h"
#include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h"
#include "chrome/browser/lifetime/application_lifetime.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/power_manager_client.h"
#include "chromeos/dbus/session_manager_client.h"
namespace chromeos {
void SessionStateControllerDelegateChromeos::RequestLockScreen() {
// If KioskMode is enabled, if the user attempts to lock the screen via
// the power button, we instead want to log the user out. This seemed to
// be the most acceptable replacement for the lock action of the power
// button for Kiosk mode users.
if (KioskModeSettings::Get()->IsKioskModeEnabled()) {
chrome::AttemptUserExit();
return;
}
// TODO(antrim) : additional logging for crbug/173178
LOG(WARNING) << "Requesting screen lock from SessionStateControllerDelegate";
DBusThreadManager::Get()->GetSessionManagerClient()->RequestLockScreen();
}
void SessionStateControllerDelegateChromeos::RequestShutdown() {
DBusThreadManager::Get()->GetPowerManagerClient()->RequestShutdown();
}
} // namespace chromeos