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

Unified Diff: chrome/browser/chromeos/login/lock/views_screen_locker.cc

Issue 2903353003: Adding mojo calls for easy unlock service (Closed)
Patch Set: comments and rebase Created 3 years, 6 months 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/lock/views_screen_locker.cc
diff --git a/chrome/browser/chromeos/login/lock/views_screen_locker.cc b/chrome/browser/chromeos/login/lock/views_screen_locker.cc
new file mode 100644
index 0000000000000000000000000000000000000000..b6ab223a3849915b602bfb325d2736b3bea8f20e
--- /dev/null
+++ b/chrome/browser/chromeos/login/lock/views_screen_locker.cc
@@ -0,0 +1,104 @@
+// Copyright 2017 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/login/lock/views_screen_locker.h"
+
+#include "base/metrics/histogram_macros.h"
+#include "chrome/browser/chromeos/login/screens/chrome_user_selection_screen.h"
+#include "chrome/browser/chromeos/login/user_selection_screen_proxy.h"
+
+namespace chromeos {
+
+namespace {
+constexpr char kLockDisplay[] = "lock";
+} // namespace
+
+ViewsScreenLocker::ViewsScreenLocker(ScreenLocker* screen_locker)
+ : screen_locker_(screen_locker), weak_factory_(this) {
+ LockScreenClient::Get()->SetDelegate(this);
+ user_selection_screen_proxy_ = base::MakeUnique<UserSelectionScreenProxy>();
+ user_selection_screen_ =
+ base::MakeUnique<ChromeUserSelectionScreen>(kLockDisplay);
+ user_selection_screen_->SetView(user_selection_screen_proxy_.get());
+}
+
+ViewsScreenLocker::~ViewsScreenLocker() {
+ LockScreenClient::Get()->SetDelegate(nullptr);
+}
+
+void ViewsScreenLocker::SetPasswordInputEnabled(bool enabled) {
+ NOTIMPLEMENTED();
+}
+
+void ViewsScreenLocker::ShowErrorMessage(
+ int error_msg_id,
+ HelpAppLauncher::HelpTopic help_topic_id) {
+ // TODO(xiaoyinh): Complete the implementation here.
+ LockScreenClient::Get()->ShowErrorMessage(0 /* login_attempts */,
+ std::string(), std::string(),
+ static_cast<int>(help_topic_id));
+}
+
+void ViewsScreenLocker::ClearErrors() {
+ LockScreenClient::Get()->ClearErrors();
+}
+
+void ViewsScreenLocker::AnimateAuthenticationSuccess() {
+ NOTIMPLEMENTED();
+}
+
+void ViewsScreenLocker::OnLockWebUIReady() {
+ NOTIMPLEMENTED();
+}
+
+void ViewsScreenLocker::OnLockBackgroundDisplayed() {
+ NOTIMPLEMENTED();
+}
+
+void ViewsScreenLocker::OnHeaderBarVisible() {
+ NOTIMPLEMENTED();
+}
+
+void ViewsScreenLocker::OnAshLockAnimationFinished() {
+ NOTIMPLEMENTED();
+}
+
+void ViewsScreenLocker::SetFingerprintState(
+ const AccountId& account_id,
+ ScreenLocker::FingerprintState state) {
+ NOTIMPLEMENTED();
+}
+
+content::WebContents* ViewsScreenLocker::GetWebContents() {
+ return nullptr;
+}
+
+void ViewsScreenLocker::Init() {
+ lock_time_ = base::TimeTicks::Now();
+ user_selection_screen_->Init(screen_locker_->users());
+ LockScreenClient::Get()->LoadUsers(user_selection_screen_->PrepareUserList(),
+ false /* show_guests */);
+}
+
+void ViewsScreenLocker::OnLockScreenReady() {
+ user_selection_screen_->InitEasyUnlock();
+ UMA_HISTOGRAM_TIMES("LockScreen.LockReady",
+ base::TimeTicks::Now() - lock_time_);
+ screen_locker_->ScreenLockReady();
+}
+
+void ViewsScreenLocker::HandleAttemptUnlock(const AccountId& account_id) {
+ user_selection_screen_->AttemptEasyUnlock(account_id);
+}
+
+void ViewsScreenLocker::HandleHardlockPod(const AccountId& account_id) {
+ user_selection_screen_->HardLockPod(account_id);
+}
+
+void ViewsScreenLocker::HandleRecordClickOnLockIcon(
+ const AccountId& account_id) {
+ user_selection_screen_->RecordClickOnLockIcon(account_id);
+}
+
+} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698