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

Unified Diff: chrome/browser/chromeos/login/screen_locker.cc

Issue 8711003: Enable WebUI ScreenLocker for aura by abstracting lock window. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reviewer suggestions. Created 9 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/login/screen_locker.cc
diff --git a/chrome/browser/chromeos/login/screen_locker.cc b/chrome/browser/chromeos/login/screen_locker.cc
index c16da7116b32072ce65e7e46916f58fba96bba5d..6a86ae495bd83f2d1e11d3aa8a72a17ba9cddc3c 100644
--- a/chrome/browser/chromeos/login/screen_locker.cc
+++ b/chrome/browser/chromeos/login/screen_locker.cc
@@ -27,7 +27,6 @@
#include "chrome/browser/chromeos/login/authenticator.h"
#include "chrome/browser/chromeos/login/login_performer.h"
#include "chrome/browser/chromeos/login/login_utils.h"
-#include "chrome/browser/chromeos/login/screen_locker_views.h"
#include "chrome/browser/chromeos/login/user_manager.h"
#include "chrome/browser/chromeos/login/webui_screen_locker.h"
#include "chrome/browser/profiles/profile.h"
@@ -50,6 +49,10 @@
#include "chrome/browser/chromeos/legacy_window_manager/wm_ipc.h"
#endif
+#if !defined(USE_AURA)
+#include "chrome/browser/chromeos/login/screen_locker_views.h"
+#endif
+
using content::BrowserThread;
namespace {
@@ -201,10 +204,14 @@ ScreenLocker::ScreenLocker(const User& user)
void ScreenLocker::Init() {
authenticator_ = LoginUtils::Get()->CreateAuthenticator(this);
+#if defined(USE_AURA)
+ delegate_.reset(new WebUIScreenLocker(this));
+#else
if (UseWebUILockScreen())
delegate_.reset(new WebUIScreenLocker(this));
else
delegate_.reset(new ScreenLockerViews(this));
+#endif
delegate_->LockScreen(unlock_on_input_);
}
@@ -356,18 +363,7 @@ void ScreenLocker::Show() {
VLOG(1) << "Show: Locking screen";
ScreenLocker* locker =
new ScreenLocker(UserManager::Get()->logged_in_user());
-#if defined(TOUCH_UI)
- // The views screen locker does not reliably work on TOUCH_UI builds. In
- // order to effectively "lock" the screen we will sign out the user for now.
- // TODO(flackr): Implement lock screen in WebUI and remove this hack
- // (crbug.com/105267).
- if (ScreenLocker::UseWebUILockScreen())
- locker->Init();
- else
- locker->Signout();
-#else
locker->Init();
-#endif
} else {
// PowerManager re-sends lock screen signal if it doesn't
// receive the response within timeout. Just send complete
@@ -403,11 +399,13 @@ void ScreenLocker::UnlockScreenFailed() {
}
}
+#if !defined(USE_AURA)
// static
bool ScreenLocker::UseWebUILockScreen() {
return !CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableWebUILockScreen);
}
+#endif
// static
void ScreenLocker::InitClass() {

Powered by Google App Engine
This is Rietveld 408576698