summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/ui/cocoa/browser_window_controller.mm18
-rw-r--r--chrome/browser/ui/gtk/browser_titlebar.cc5
-rw-r--r--chrome/browser/ui/views/frame/browser_view.cc7
3 files changed, 25 insertions, 5 deletions
diff --git a/chrome/browser/ui/cocoa/browser_window_controller.mm b/chrome/browser/ui/cocoa/browser_window_controller.mm
index be6845e..6df4d70 100644
--- a/chrome/browser/ui/cocoa/browser_window_controller.mm
+++ b/chrome/browser/ui/cocoa/browser_window_controller.mm
@@ -15,9 +15,11 @@
#include "base/sys_string_conversions.h"
#include "chrome/app/chrome_command_ids.h" // IDC_*
#include "chrome/browser/bookmarks/bookmark_editor.h"
+#include "chrome/browser/browser_process.h"
#include "chrome/browser/google/google_util.h"
#include "chrome/browser/instant/instant_controller.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/profiles/profile_info_cache.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/sync/profile_sync_service.h"
#include "chrome/browser/sync/sync_ui_util_mac.h"
@@ -1353,8 +1355,20 @@ typedef NSInteger NSWindowAnimationBehavior;
}
- (BOOL)shouldShowAvatar {
- return [self hasTabStrip] && (browser_->profile()->IsOffTheRecord() ||
- ProfileManager::IsMultipleProfilesEnabled());
+ if (![self hasTabStrip])
+ return NO;
+
+ if (browser_->profile()->IsOffTheRecord())
+ return YES;
+
+ if (ProfileManager::IsMultipleProfilesEnabled()) {
+ // Show the profile avatar after the user has created more than one profile.
+ ProfileInfoCache& cache =
+ g_browser_process->profile_manager()->GetProfileInfoCache();
+ return cache.GetNumberOfProfiles() > 1;
+ }
+
+ return NO;
}
- (BOOL)isBookmarkBarVisible {
diff --git a/chrome/browser/ui/gtk/browser_titlebar.cc b/chrome/browser/ui/gtk/browser_titlebar.cc
index a8325f8..051c68e 100644
--- a/chrome/browser/ui/gtk/browser_titlebar.cc
+++ b/chrome/browser/ui/gtk/browser_titlebar.cc
@@ -16,8 +16,10 @@
#include "base/string_tokenizer.h"
#include "base/utf_string_conversions.h"
#include "chrome/app/chrome_command_ids.h"
+#include "chrome/browser/browser_process.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/profiles/profile_info_cache.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/gtk/accelerators_gtk.h"
@@ -310,7 +312,10 @@ void BrowserTitlebar::Init() {
// If multi-profile is enabled set up profile button and login notifications.
// The button lives in its own vbox in container_hbox_.
+ ProfileInfoCache& cache =
+ g_browser_process->profile_manager()->GetProfileInfoCache();
if (ProfileManager::IsMultipleProfilesEnabled() &&
+ cache.GetNumberOfProfiles() > 1 &&
!browser_window_->browser()->profile()->IsOffTheRecord()) {
PrefService* prefs = browser_window_->browser()->profile()->GetPrefs();
usernamePref_.Init(prefs::kGoogleServicesUsername, prefs, this);
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc
index 9d053ed..d30e353 100644
--- a/chrome/browser/ui/views/frame/browser_view.cc
+++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -478,9 +478,10 @@ bool BrowserView::ShouldShowAvatar() const {
return true;
if (ProfileManager::IsMultipleProfilesEnabled()) {
- // TODO(sail): Once the multi-profile options UI is done we only want to
- // show the avatar if the user has more than one profile.
- return true;
+ // Show the profile avatar after the user has created more than one profile.
+ ProfileInfoCache& cache =
+ g_browser_process->profile_manager()->GetProfileInfoCache();
+ return cache.GetNumberOfProfiles() > 1;
}
return false;