Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2229)

Unified Diff: chrome/browser/profiles/avatar_menu_model.h

Issue 20656002: Add profile selector menu to app list. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: small fixups Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/profiles/avatar_menu_model.h
diff --git a/chrome/browser/profiles/avatar_menu_model.h b/chrome/browser/profiles/avatar_menu_model.h
index 95668b43c804583f3558033492fd65e9a96e8744..5c2946e57055bd1dd289ca63e2441a7742104773 100644
--- a/chrome/browser/profiles/avatar_menu_model.h
+++ b/chrome/browser/profiles/avatar_menu_model.h
@@ -15,47 +15,23 @@
#include "content/public/browser/notification_registrar.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_observer.h"
-#include "ui/gfx/image/image.h"
+#include "ui/base/profile_selector/avatar_menu_item_model.h"
class AvatarMenuModelObserver;
class Browser;
class Profile;
class ProfileInfoInterface;
+namespace gfx {
+class Image;
+}
+
// This class is the model for the menu-like interface 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 controller/view for this
// model should forward actions back to it in response to user events.
class AvatarMenuModel : public content::NotificationObserver {
public:
- // Represents an item in the menu.
- struct Item {
- Item(size_t model_index, const gfx::Image& icon);
- ~Item();
-
- // The icon to be displayed next to the item.
- gfx::Image icon;
-
- // Whether or not the current browser is using this profile.
- bool active;
-
- // The name of this profile.
- string16 name;
-
- // A string representing the sync state of the profile.
- string16 sync_state;
-
- // Whether or not the current profile is signed in. If true, |sync_state| is
- // expected to be the email of the signed in user.
- bool signed_in;
-
- // Whether or not the current profile requires sign-in before use.
- bool signin_required;
-
- // The index in the |profile_cache| that this Item represents.
- size_t model_index;
- };
-
// Constructor. |observer| can be NULL. |browser| can be NULL and a new one
// will be created if an action requires it.
AvatarMenuModel(ProfileInfoInterface* profile_cache,
@@ -87,7 +63,7 @@ class AvatarMenuModel : public content::NotificationObserver {
size_t GetActiveProfileIndex();
// Gets the an Item at a specified index.
- const Item& GetItemAt(size_t index);
+ const ui::AvatarMenuItemModel& GetItemAt(size_t index);
// Returns true if the add profile link should be shown.
bool ShouldShowAddNewProfileLink() const;
@@ -141,7 +117,7 @@ class AvatarMenuModel : public content::NotificationObserver {
Browser* browser_;
// List of built "menu items."
- std::vector<Item*> items_;
+ std::vector<ui::AvatarMenuItemModel*> items_;
// Listens for notifications from the ProfileInfoCache.
content::NotificationRegistrar registrar_;
« no previous file with comments | « no previous file | chrome/browser/profiles/avatar_menu_model.cc » ('j') | chrome/browser/profiles/profile_info_util.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698