| 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 dac410f90fe45fd4635a59f9ce7667d3cb193214..eaffca95a7793da66d2913ddbbe7a8d52d24b3d0 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"
|
| @@ -36,6 +37,7 @@
|
| #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_button_controller.h"
|
| +#import "chrome/browser/ui/cocoa/browser/new_avatar_button_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 +70,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"
|
| @@ -527,6 +530,10 @@ enum {
|
| return avatarButtonController_.get();
|
| }
|
|
|
| +- (NewAvatarButtonController*)newAvatarButtonController {
|
| + return newAvatarButtonController_.get();
|
| +}
|
| +
|
| - (void)destroyBrowser {
|
| [NSApp removeWindowsItem:[self window]];
|
|
|
| @@ -1497,6 +1504,11 @@ enum {
|
| return AvatarMenu::ShouldShowAvatarMenu();
|
| }
|
|
|
| +- (BOOL)shouldUseNewAvatarButton {
|
| + return switches::IsNewProfileManagement() &&
|
| + profiles::IsRegularOrGuestSession(browser_.get());
|
| +}
|
| +
|
| - (BOOL)isBookmarkBarVisible {
|
| return [bookmarkBarController_ isVisible];
|
| }
|
| @@ -1711,11 +1723,19 @@ enum {
|
| - (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(
|
| + // image to display based on the browser. The NewAvatarButton will display
|
| + // the browser profile's name unless the browser is incognito.
|
| + NSView* view;
|
| + if ([self shouldUseNewAvatarButton]) {
|
| + newAvatarButtonController_.reset(
|
| + [[NewAvatarButtonController alloc] initWithBrowser:browser_.get()]);
|
| + view = [newAvatarButtonController_ view];
|
| + } else {
|
| + avatarButtonController_.reset(
|
| [[AvatarButtonController alloc] initWithBrowser:browser_.get()]);
|
| + view = [avatarButtonController_ view];
|
| + }
|
|
|
| - NSView* view = [avatarButtonController_ view];
|
| [view setAutoresizingMask:NSViewMinXMargin | NSViewMinYMargin];
|
| [view setHidden:![self shouldShowAvatar]];
|
|
|
|
|