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

Unified Diff: chrome/browser/chromeos/login/lock/webui_screen_locker.h

Issue 2429033003: cros: Cleanup lock screen and OOBE C++ backing code. (Closed)
Patch Set: Initial patch Created 4 years, 2 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/webui_screen_locker.h
diff --git a/chrome/browser/chromeos/login/lock/webui_screen_locker.h b/chrome/browser/chromeos/login/lock/webui_screen_locker.h
index 1d32cd49f457194d231b852037be3c3bd069fe3c..eb3bf7082e1ca8cc897980aab0c8d74af4db7de3 100644
--- a/chrome/browser/chromeos/login/lock/webui_screen_locker.h
+++ b/chrome/browser/chromeos/login/lock/webui_screen_locker.h
@@ -15,7 +15,6 @@
#include "base/macros.h"
#include "base/memory/weak_ptr.h"
#include "base/time/time.h"
-#include "chrome/browser/chromeos/login/lock/screen_locker_delegate.h"
#include "chrome/browser/chromeos/login/signin_screen_controller.h"
#include "chrome/browser/chromeos/login/signin_specifics.h"
#include "chrome/browser/chromeos/login/ui/lock_window.h"
@@ -46,12 +45,9 @@ namespace test {
class WebUIScreenLockerTester;
}
-// This version of ScreenLockerDelegate displays a WebUI lock screen based on
-// the Oobe account picker screen.
+// Displays a WebUI lock screen based on the Oobe account picker screen.
class WebUIScreenLocker : public WebUILoginView,
public LoginDisplay::Delegate,
- public ScreenLockerDelegate,
- public LockWindow::Observer,
public ash::LockStateObserver,
public views::WidgetObserver,
public PowerManagerClient::Observer,
@@ -61,21 +57,42 @@ class WebUIScreenLocker : public WebUILoginView,
public content::WebContentsObserver {
public:
explicit WebUIScreenLocker(ScreenLocker* screen_locker);
+ ~WebUIScreenLocker() override;
+
+ // Initialize the screen locker delegate. This will call ScreenLockReady when
achuithb 2016/10/20 17:38:33 What screen locker delegate?
jdufault 2016/10/20 19:35:19 These comments were copied from screen_locker_dele
+ // done to notify ScreenLocker.
+ void LockScreen();
+
+ // Enable/disable password input.
+ void SetInputEnabled(bool enabled);
- // ScreenLockerDelegate:
- void LockScreen() override;
- void ScreenLockReady() override;
- void OnAuthenticate() override;
- void SetInputEnabled(bool enabled) override;
+ // Disables all UI needed and shows error bubble with |message|.
+ // If |sign_out_only| is true then all other input except "Sign Out"
+ // button is blocked.
void ShowErrorMessage(int error_msg_id,
- HelpAppLauncher::HelpTopic help_topic_id) override;
- void ClearErrors() override;
- void AnimateAuthenticationSuccess() override;
- gfx::NativeWindow GetNativeWindow() const override;
- content::WebUI* GetAssociatedWebUI() override;
- void OnLockWebUIReady() override;
- void OnLockBackgroundDisplayed() override;
- void OnHeaderBarVisible() override;
+ HelpAppLauncher::HelpTopic help_topic_id);
+
+ // Close message bubble to clear error messages.
+ void ClearErrors();
+
+ // Allows to have visual effects once unlock authentication is successful,
+ // Must call ScreenLocker::UnlockOnLoginSuccess() once all effects are done.
+ void AnimateAuthenticationSuccess();
+
+ // Called when webui lock screen is ready.
+ void OnLockWebUIReady();
+
+ // Called when webui lock screen wallpaper is loaded and displayed.
+ void OnLockBackgroundDisplayed();
+
+ // Called when the webui header bar becomes visible.
+ void OnHeaderBarVisible();
+
+ // Returns instance of the OOBE WebUI.
+ OobeUI* GetOobeUI();
+
+ private:
+ friend class test::WebUIScreenLockerTester;
// LoginDisplay::Delegate:
void CancelPasswordChangedFlow() override;
@@ -97,9 +114,6 @@ class WebUIScreenLocker : public WebUILoginView,
void Signout() override;
bool IsUserWhitelisted(const AccountId& account_id) override;
- // LockWindow::Observer:
- void OnLockWindowReady() override;
-
// LockStateObserver:
void OnLockStateEvent(ash::LockStateObserver::EventType event) override;
@@ -127,13 +141,14 @@ class WebUIScreenLocker : public WebUILoginView,
void OnDisplayMetricsChanged(const display::Display& display,
uint32_t changed_metrics) override;
- // Returns instance of the OOBE WebUI.
- OobeUI* GetOobeUI();
+ // Inform the screen locker that the screen has been locked
+ void ScreenLockReady();
- private:
- friend class test::WebUIScreenLockerTester;
+ // Called when the lock window is ready.
+ void OnLockWindowReady();
- ~WebUIScreenLocker() override;
+ // Returns the native window displaying the lock screen.
+ gfx::NativeWindow GetNativeWindow() const;
// Ensures that user pod is focused.
void FocusUserPod();
@@ -141,8 +156,11 @@ class WebUIScreenLocker : public WebUILoginView,
// Reset user pod and ensures that user pod is focused.
void ResetAndFocusUserPod();
+ // ScreenLocker that owns this delegate.
achuithb 2016/10/20 17:38:33 let's not use the word delegate here.
jdufault 2016/10/20 19:35:19 Done.
+ ScreenLocker* screen_locker_;
achuithb 2016/10/20 17:38:33 let's do = nullptr for consistency.
jdufault 2016/10/20 19:35:19 Done.
+
// The screen locker window.
- views::Widget* lock_window_ = nullptr;
+ LockWindow* lock_window_ = nullptr;
// Sign-in Screen controller instance (owns login screens).
std::unique_ptr<SignInScreenController> signin_screen_controller_;

Powered by Google App Engine
This is Rietveld 408576698