When starting login/lockscreen, chrome send a list of user information to the UI via loadUsers API. A mojo struct is needed for the user information that will be used by lock screen views.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/10e509ce2fc699d0e26a98bb05446d51d62e4473 commit 10e509ce2fc699d0e26a98bb05446d51d62e4473 Author: xiaoyinh <xiaoyinh@chromium.org> Date: Fri Jun 16 20:09:54 2017 Convert multi-profile user behavior string to enum and send it to UI. Multi-profile user behavior is a string value saved in kMultiProfileUserBehavior prefs which is mapped with a user policy ChromeOsMultiProfileUserBehavior. This CL converts the string value to a enum and send it to user pod UI. The kMultiProfileUserBehavior prefs and the cached value in the local state is not changed(still string value). BUG= 729687 Review-Url: https://codereview.chromium.org/2946463002 Cr-Commit-Position: refs/heads/master@{#480141} [modify] https://crrev.com/10e509ce2fc699d0e26a98bb05446d51d62e4473/chrome/browser/chromeos/login/screens/user_selection_screen.cc [modify] https://crrev.com/10e509ce2fc699d0e26a98bb05446d51d62e4473/chrome/browser/chromeos/login/users/multi_profile_user_controller.cc [modify] https://crrev.com/10e509ce2fc699d0e26a98bb05446d51d62e4473/chrome/browser/chromeos/login/users/multi_profile_user_controller.h [modify] https://crrev.com/10e509ce2fc699d0e26a98bb05446d51d62e4473/ui/login/account_picker/md_user_pod_row.js [modify] https://crrev.com/10e509ce2fc699d0e26a98bb05446d51d62e4473/ui/login/account_picker/user_pod_row.js
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/820778c575fe891e178b0671a92817a2e54ba197 commit 820778c575fe891e178b0671a92817a2e54ba197 Author: xiaoyinh <xiaoyinh@chromium.org> Date: Wed Jun 21 01:43:07 2017 Create Mojo Struct for user information used in login/lock screen. Introduce a Mojo struct LoginUserInfo for login users which include basic information ash::mojom::UserInfo and other login/lock screen specific information. UserSelectionScreen will populate LoginUserInfo and send it back to lockscreen views. Compare to the user info we sent to current UI, LoginUserInfo have almost everything except: 1. user's gaiaId, which doesn't seem to be used by current UI.(user_pod_row.js) 2. public session information which doesn't exist on lockscreen. We might need it for login screen later and I have added a TODO for this. BUG= 729687 Review-Url: https://codereview.chromium.org/2937553002 Cr-Commit-Position: refs/heads/master@{#481070} [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/ash/login/lock_screen_controller.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/ash/login/lock_screen_controller.h [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/ash/public/interfaces/BUILD.gn [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/ash/public/interfaces/lock_screen.mojom [add] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/ash/public/interfaces/login_user_info.mojom [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/chromeos/login/app_launch_signin_screen.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/chromeos/login/lock/views_screen_locker.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/chromeos/login/screens/user_selection_screen.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/chromeos/login/screens/user_selection_screen.h [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/chromeos/login/ui/views/user_board_view.h [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/chromeos/login/user_selection_screen_proxy.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/chromeos/login/user_selection_screen_proxy.h [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/chromeos/login/users/multi_profile_user_controller.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/chromeos/login/users/multi_profile_user_controller.h [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/extensions/api/screenlock_private/screenlock_private_api.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/extensions/api/screenlock_private/screenlock_private_api.h [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/extensions/api/screenlock_private/screenlock_private_apitest.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/signin/easy_unlock_app_manager.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/signin/easy_unlock_auth_attempt.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/signin/easy_unlock_auth_attempt_unittest.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/signin/easy_unlock_screenlock_state_handler.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/signin/easy_unlock_screenlock_state_handler_unittest.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/ui/ash/lock_screen_client.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/ui/ash/lock_screen_client.h [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/ui/webui/chromeos/login/signin_userlist_unittest.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/ui/webui/chromeos/login/supervised_user_creation_screen_handler.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/ui/webui/chromeos/login/user_board_screen_handler.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/ui/webui/chromeos/login/user_board_screen_handler.h [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/ui/webui/signin/user_manager_screen_handler.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/chrome/browser/ui/webui/signin/user_manager_screen_handler.h [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/components/proximity_auth/BUILD.gn [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/components/proximity_auth/fake_lock_handler.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/components/proximity_auth/fake_lock_handler.h [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/components/proximity_auth/proximity_auth_system.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/components/proximity_auth/proximity_auth_system_unittest.cc [add] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/components/proximity_auth/public/interfaces/BUILD.gn [add] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/components/proximity_auth/public/interfaces/OWNERS [add] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/components/proximity_auth/public/interfaces/auth_type.mojom [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/components/proximity_auth/screenlock_bridge.h [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/components/proximity_auth/unlock_manager.h [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/components/proximity_auth/unlock_manager_impl.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/components/proximity_auth/unlock_manager_impl.h [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/components/proximity_auth/unlock_manager_impl_unittest.cc [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/ui/login/account_picker/md_user_pod_row.js [modify] https://crrev.com/820778c575fe891e178b0671a92817a2e54ba197/ui/login/account_picker/user_pod_row.js
Comment 1 by jdufault@chromium.org
, Jun 8 2017