The main entities used to show the login/lock screen UI.
//ash/public/cpp/
:
LoginScreenClient
- handles method calls sent from ash to chrome & handles messages from chrome to ash. Forwards some of the calls to the Delegate
.//chrome/browser/ash/login/ui/
:
LoginDisplayHostMojo
](/chrome/browser/ash/login/ui/ login_display_host_mojo.h) - a LoginDisplayHost
instance that implements LoginScreenClient
and sends requests to the views-based sign in. Handles calls like HandleAuthenticateUserWith...()
. Owned by ChromeBrowserMainExtraPartsAsh
.//ash/login/
:
LoginScreenController
- mostly forwards requests to LoginScreenClient
or calls Shelf
APIs directly. Owned by Shell
.LoginDataDispatcher
- provides access to data notification events needed by the lock/login screen (via the observer). Owned by LoginScreenController
.LockContentsView
- hosts the root view for the login/lock screen. Receives notifications from the LoginDataDispatcher
and updates the UI. Owned by LockScreen
.//chrome/browser/ash/login/lock/
:
ViewsScreenLocker
handles calls between ash and chrome on the lock screen by implementing Delegate interfaces.