Commit b910d51d authored by Xiyuan Xia's avatar Xiyuan Xia Committed by Commit Bot

TraySupervisedUser observe user add/switch

TraySupervisedUser should observe user session addition and
switch as well as the user session update. Otherwise, it might
miss some session info as in http://crbug.com/796758, where
user child info is now only set at user session creation with
no user session update followed.

Bug: 796758
Change-Id: Ic275ccfa174a21451077e6ec9225901f188e2a63
Reviewed-on: https://chromium-review.googlesource.com/848020
Commit-Queue: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: default avatarJames Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527057}
parent 8237d65c
......@@ -62,9 +62,16 @@ views::View* TraySupervisedUser::CreateDefaultView(LoginStatus status) {
return tray_view;
}
void TraySupervisedUser::OnActiveUserSessionChanged(
const AccountId& account_id) {
OnUserSessionUpdated(account_id);
}
void TraySupervisedUser::OnUserSessionAdded(const AccountId& account_id) {
OnUserSessionUpdated(account_id);
}
void TraySupervisedUser::OnUserSessionUpdated(const AccountId& account_id) {
// NOTE: This doesn't use OnUserSessionAdded() because the custodian info
// isn't available until after the session starts.
SessionController* session_controller = Shell::Get()->session_controller();
if (!session_controller->IsUserSupervised())
return;
......
......@@ -28,6 +28,8 @@ class ASH_EXPORT TraySupervisedUser : public SystemTrayItem,
views::View* CreateDefaultView(LoginStatus status) override;
// SessionObserver:
void OnActiveUserSessionChanged(const AccountId& account_id) override;
void OnUserSessionAdded(const AccountId& account_id) override;
void OnUserSessionUpdated(const AccountId& account_id) override;
private:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment