Index: chrome/browser/ui/cocoa/browser_window_controller.mm |
diff --git a/chrome/browser/ui/cocoa/browser_window_controller.mm b/chrome/browser/ui/cocoa/browser_window_controller.mm |
index 392179bccaa9fa4d2c1bb531df580a488347ddc5..470b96d9c4be9348b07589ddd33a15eac931e01e 100644 |
--- a/chrome/browser/ui/cocoa/browser_window_controller.mm |
+++ b/chrome/browser/ui/cocoa/browser_window_controller.mm |
@@ -22,6 +22,7 @@ |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/profiles/profile_info_cache.h" |
#include "chrome/browser/profiles/profile_manager.h" |
+#include "chrome/browser/profiles/profiles_state.h" |
#include "chrome/browser/signin/signin_ui_util.h" |
#include "chrome/browser/themes/theme_service.h" |
#include "chrome/browser/themes/theme_service_factory.h" |
@@ -35,7 +36,9 @@ |
#import "chrome/browser/ui/cocoa/background_gradient_view.h" |
#import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h" |
#import "chrome/browser/ui/cocoa/bookmarks/bookmark_editor_controller.h" |
+#import "chrome/browser/ui/cocoa/browser/avatar_base_controller.h" |
#import "chrome/browser/ui/cocoa/browser/avatar_button_controller.h" |
+#import "chrome/browser/ui/cocoa/browser/avatar_icon_controller.h" |
#import "chrome/browser/ui/cocoa/browser_window_cocoa.h" |
#import "chrome/browser/ui/cocoa/browser_window_controller_private.h" |
#import "chrome/browser/ui/cocoa/browser_window_utils.h" |
@@ -68,6 +71,7 @@ |
#include "chrome/browser/ui/toolbar/encoding_menu_controller.h" |
#include "chrome/browser/ui/window_sizer/window_sizer.h" |
#include "chrome/common/chrome_switches.h" |
+#include "chrome/common/profile_management_switches.h" |
#include "chrome/common/url_constants.h" |
#include "components/web_modal/web_contents_modal_dialog_manager.h" |
#include "content/public/browser/render_view_host.h" |
@@ -523,7 +527,7 @@ enum { |
return browser_->profile(); |
} |
-- (AvatarButtonController*)avatarButtonController { |
+- (AvatarBaseController*)avatarButtonController { |
return avatarButtonController_.get(); |
} |
@@ -1497,6 +1501,11 @@ enum { |
return AvatarMenu::ShouldShowAvatarMenu(); |
} |
+- (BOOL)shouldUseNewAvatarButton { |
+ return switches::IsNewProfileManagement() && |
+ profiles::IsRegularOrGuestSession(browser_.get()); |
+} |
+ |
- (BOOL)isBookmarkBarVisible { |
return [bookmarkBarController_ isVisible]; |
} |
@@ -1710,12 +1719,18 @@ enum { |
// coordinate as the tab strip. |
- (void)installAvatar { |
// Install the image into the badge view. Hide it for now; positioning and |
- // sizing will be done by the layout code. The AvatarButton will choose which |
- // image to display based on the browser. |
- avatarButtonController_.reset( |
+ // sizing will be done by the layout code. The AvatarIcon will choose which |
+ // image to display based on the browser. The AvatarButton will display |
+ // the browser profile's name unless the browser is incognito. |
+ NSView* view; |
+ if ([self shouldUseNewAvatarButton]) { |
+ avatarButtonController_.reset( |
[[AvatarButtonController alloc] initWithBrowser:browser_.get()]); |
- |
- NSView* view = [avatarButtonController_ view]; |
+ } else { |
+ avatarButtonController_.reset( |
+ [[AvatarIconController alloc] initWithBrowser:browser_.get()]); |
+ } |
+ view = [avatarButtonController_ view]; |
[view setAutoresizingMask:NSViewMinXMargin | NSViewMinYMargin]; |
[view setHidden:![self shouldShowAvatar]]; |