Commit 869a01e6 authored by flackr@chromium.org's avatar flackr@chromium.org

Remove lock screen item from menu and disable screen lock on guest session.

BUG=chromium-os:23764
TEST=Log in as guest, attempt to lock screen, nothing should happen.


Review URL: http://codereview.chromium.org/8842002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113485 0039d316-1c4b-4281-b951-d872f2087c98
parent 3dda5f53
...@@ -347,10 +347,19 @@ void ScreenLocker::SetLoginStatusConsumer( ...@@ -347,10 +347,19 @@ void ScreenLocker::SetLoginStatusConsumer(
// static // static
void ScreenLocker::Show() { void ScreenLocker::Show() {
VLOG(1) << "In ScreenLocker::Show"; DVLOG(1) << "In ScreenLocker::Show";
UserMetrics::RecordAction(UserMetricsAction("ScreenLocker_Show")); UserMetrics::RecordAction(UserMetricsAction("ScreenLocker_Show"));
DCHECK(MessageLoop::current()->type() == MessageLoop::TYPE_UI); DCHECK(MessageLoop::current()->type() == MessageLoop::TYPE_UI);
// Check whether the currently logged in user is a guest account and if so,
// refuse to lock the screen (crosbug.com/23764).
// TODO(flackr): We can allow lock screen for guest accounts when
// unlock_on_input is supported by the WebUI screen locker.
if (UserManager::Get()->logged_in_user().email().empty()) {
DVLOG(1) << "Show: Refusing to lock screen for guest account.";
return;
}
// Exit fullscreen. // Exit fullscreen.
Browser* browser = BrowserList::GetLastActive(); Browser* browser = BrowserList::GetLastActive();
// browser can be NULL if we receive a lock request before the first browser // browser can be NULL if we receive a lock request before the first browser
...@@ -360,7 +369,7 @@ void ScreenLocker::Show() { ...@@ -360,7 +369,7 @@ void ScreenLocker::Show() {
} }
if (!screen_locker_) { if (!screen_locker_) {
VLOG(1) << "Show: Locking screen"; DVLOG(1) << "Show: Locking screen";
ScreenLocker* locker = ScreenLocker* locker =
new ScreenLocker(UserManager::Get()->logged_in_user()); new ScreenLocker(UserManager::Get()->logged_in_user());
locker->Init(); locker->Init();
...@@ -368,7 +377,7 @@ void ScreenLocker::Show() { ...@@ -368,7 +377,7 @@ void ScreenLocker::Show() {
// PowerManager re-sends lock screen signal if it doesn't // PowerManager re-sends lock screen signal if it doesn't
// receive the response within timeout. Just send complete // receive the response within timeout. Just send complete
// signal. // signal.
VLOG(1) << "Show: locker already exists. Just sending completion event."; DVLOG(1) << "Show: locker already exists. Just sending completion event.";
CrosLibrary::Get()->GetScreenLockLibrary()->NotifyScreenLockCompleted(); CrosLibrary::Get()->GetScreenLockLibrary()->NotifyScreenLockCompleted();
} }
} }
......
...@@ -72,11 +72,10 @@ void WrenchMenuModel::Build() { ...@@ -72,11 +72,10 @@ void WrenchMenuModel::Build() {
AddSeparator(); AddSeparator();
AddItemWithStringId(IDC_LOCK_SCREEN, IDS_LOCK_SCREEN);
if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kGuestSession)) { if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kGuestSession)) {
AddItemWithStringId(IDC_EXIT, IDS_EXIT_GUEST_MODE); AddItemWithStringId(IDC_EXIT, IDS_EXIT_GUEST_MODE);
} else { } else {
AddItemWithStringId(IDC_LOCK_SCREEN, IDS_LOCK_SCREEN);
AddItemWithStringId(IDC_EXIT, IDS_SIGN_OUT); AddItemWithStringId(IDC_EXIT, IDS_SIGN_OUT);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment