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

Unified Diff: chrome/browser/profiles/avatar_menu.cc

Issue 1242793005: Refactor most c/b/profiles calls to ProfileInfoCache. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Windows unit test and ChromeOS build Created 5 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.cc
diff --git a/chrome/browser/profiles/avatar_menu.cc b/chrome/browser/profiles/avatar_menu.cc
index 8f50fc7cba6516c06f79fb818aa429151cd8c8f1..df7986c3507c71be0f9e741a07309b9629c378df 100644
--- a/chrome/browser/profiles/avatar_menu.cc
+++ b/chrome/browser/profiles/avatar_menu.cc
@@ -47,24 +47,23 @@ const char kAlwaysShowSwitcherGroupName[] = "AlwaysShow";
} // namespace
-AvatarMenu::AvatarMenu(ProfileInfoInterface* profile_cache,
+AvatarMenu::AvatarMenu(ProfileAttributesStorage* profile_storage,
AvatarMenuObserver* observer,
Browser* browser)
- : profile_list_(ProfileList::Create(profile_cache)),
+ : profile_list_(ProfileList::Create(profile_storage)),
menu_actions_(AvatarMenuActions::Create()),
#if defined(ENABLE_SUPERVISED_USERS)
supervised_user_observer_(this),
#endif
- profile_info_(profile_cache),
observer_(observer),
browser_(browser) {
- DCHECK(profile_info_);
// Don't DCHECK(browser_) so that unit tests can reuse this ctor.
ActiveBrowserChanged(browser_);
// Register this as an observer of the info cache.
- g_browser_process->profile_manager()->GetProfileInfoCache().AddObserver(this);
+ g_browser_process->profile_manager()->
Mike Lerman 2015/08/06 16:06:19 The ctor was passed a ProfileAttributesStorage; wh
+ GetProfileAttributesStorage().AddObserver(this);
#if defined(ENABLE_SUPERVISED_USERS)
// Register this as an observer of the SupervisedUserService to be notified
@@ -78,18 +77,16 @@ AvatarMenu::AvatarMenu(ProfileInfoInterface* profile_cache,
AvatarMenu::~AvatarMenu() {
g_browser_process->profile_manager()->
- GetProfileInfoCache().RemoveObserver(this);
+ GetProfileAttributesStorage().RemoveObserver(this);
}
AvatarMenu::Item::Item(size_t menu_index,
- size_t profile_index,
const gfx::Image& icon)
: icon(icon),
active(false),
signed_in(false),
signin_required(false),
- menu_index(menu_index),
- profile_index(profile_index) {
+ menu_index(menu_index) {
}
AvatarMenu::Item::~Item() {
@@ -142,14 +139,11 @@ void AvatarMenu::SwitchToProfile(size_t index,
}
}
- base::FilePath path =
- profile_info_->GetPathOfProfileAtIndex(item.profile_index);
-
chrome::HostDesktopType desktop_type = chrome::GetActiveDesktop();
if (browser_)
desktop_type = browser_->host_desktop_type();
- profiles::SwitchToProfile(path, desktop_type, always_create,
+ profiles::SwitchToProfile(item.profile_path, desktop_type, always_create,
ProfileManager::CreateCallback(),
metric);
}
@@ -159,13 +153,10 @@ void AvatarMenu::AddNewProfile(ProfileMetrics::ProfileAdd type) {
}
void AvatarMenu::EditProfile(size_t index) {
- // Get the index in the profile cache from the menu index.
- size_t profile_index = profile_list_->GetItemAt(index).profile_index;
-
+ base::FilePath profile_path = profile_list_->GetItemAt(index).profile_path;
Profile* profile = g_browser_process->profile_manager()->GetProfileByPath(
- profile_info_->GetPathOfProfileAtIndex(profile_index));
-
- menu_actions_->EditProfile(profile, profile_index);
+ profile_path);
Mike Lerman 2015/08/06 16:06:19 Don't need to declare a FilePath, you can just inl
+ menu_actions_->EditProfile(profile);
}
void AvatarMenu::RebuildMenu() {
@@ -179,6 +170,11 @@ size_t AvatarMenu::GetNumberOfItems() const {
const AvatarMenu::Item& AvatarMenu::GetItemAt(size_t index) const {
return profile_list_->GetItemAt(index);
}
+
+size_t AvatarMenu::GetIndexOfItemWithProfilePath(const base::FilePath& path) {
+ return profile_list_->MenuIndexFromProfilePath(path);
+}
+
size_t AvatarMenu::GetActiveProfileIndex() {
// During singleton profile deletion, this function can be called with no
@@ -193,9 +189,7 @@ size_t AvatarMenu::GetActiveProfileIndex() {
active_profile = browser_->profile();
size_t index =
- profile_info_->GetIndexOfProfileWithPath(active_profile->GetPath());
-
- index = profile_list_->MenuIndexFromProfileIndex(index);
+ profile_list_->MenuIndexFromProfilePath(active_profile->GetPath());
DCHECK_LT(index, profile_list_->GetNumberOfItems());
return index;
}

Powered by Google App Engine
This is Rietveld 408576698