1 # Entities used on the login/lock screen
3 The main entities used to show the login/lock screen UI.
6 - This folder contains inferfaces that are implemented in ash or chrome and
7 are used to communicate between ash and chrome services.
8 - [`LoginScreenClient`](/ash/public/cpp/login_screen_client.h) - handles
9 method calls sent from ash to chrome & handles messages from chrome to ash.
10 Forwards some of the calls to the `Delegate`.
12 - `//chrome/browser/ash/login/ui/`:
13 - This folder contains implementations of login and OOBE UIs.
14 - [`LoginDisplayHostMojo`](/chrome/browser/ash/login/ui/
15 login_display_host_mojo.h) - a `LoginDisplayHost` instance that implements
16 `LoginScreenClient` and sends requests to the views-based sign in. Handles calls
17 like `HandleAuthenticateUserWith...()`. Owned by
18 `ChromeBrowserMainExtraPartsAsh`.
21 - This folder contains the implementation of login UI views (buttons, inputs,
22 etc), and additional classes that handle notifications and update the UI. Also
23 see [ash/login/ui/README.md](/ash/login/ui/README.md)
24 - [`LoginScreenController`](/ash/login/login_screen_controller.h) - mostly
25 forwards requests to `LoginScreenClient` or calls `Shelf` APIs directly. Owned
27 - [`LoginDataDispatcher`](/ash/login/ui/login_data_dispatcher.h) - provides
28 access to data notification events needed by the lock/login screen (via the
29 observer). Owned by `LoginScreenController`.
30 - [`LockContentsView`](/ash/login/ui/lock_contents_view.h) - hosts the root
31 view for the login/lock screen. Receives notifications from the
32 `LoginDataDispatcher` and updates the UI. Owned by `LockScreen`.
34 - `//chrome/browser/ash/login/lock/`:
35 - This folder contains the lock screen - specific logic for the login UIs.
36 - [`ViewsScreenLocker`](/chrome/browser/ash/login/lock/views_screen_locker.h)
37 handles calls between ash and chrome on the lock screen by implementing