#include "base/strings/string16.h"
#include "chrome/browser/profiles/profile_metrics.h"
#include "chrome/browser/ui/host_desktop.h"
#include "base/strings/string16.h"
#include "chrome/browser/profiles/profile_metrics.h"
#include "chrome/browser/ui/host_desktop.h"
// This class represents the menu-like interface used to select profiles,
// such as the bubble that appears when the avatar icon is clicked in the
// browser window frame. This class will notify its observer when the backend
// data changes, and the view for this model should forward actions
// back to it in response to user events.
// This class represents the menu-like interface used to select profiles,
// such as the bubble that appears when the avatar icon is clicked in the
// browser window frame. This class will notify its observer when the backend
// data changes, and the view for this model should forward actions
// back to it in response to user events.
-class AvatarMenu : public content::NotificationObserver {
+class AvatarMenu :
+#if defined(ENABLE_MANAGED_USERS)
+ public SupervisedUserServiceObserver,
+#endif
+ public content::NotificationObserver {
// The model that provides the list of menu items.
scoped_ptr<ProfileList> profile_list_;
// The controller for avatar menu actions.
scoped_ptr<AvatarMenuActions> menu_actions_;
// The model that provides the list of menu items.
scoped_ptr<ProfileList> profile_list_;
// The controller for avatar menu actions.
scoped_ptr<AvatarMenuActions> menu_actions_;
+#if defined(ENABLE_MANAGED_USERS)
+ // Observes changes to a supervised user's custodian info.
+ ScopedObserver<SupervisedUserService, SupervisedUserServiceObserver>
+ supervised_user_observer_;
+#endif
+