Index: chrome/browser/ui/views/frame/browser_non_client_frame_view.cc |
diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view.cc b/chrome/browser/ui/views/frame/browser_non_client_frame_view.cc |
index 6b0ed393a50398b8f523b84b3b359e6db3983d7f..0b755f59de409f061d86d538e106a2b94824d4d9 100644 |
--- a/chrome/browser/ui/views/frame/browser_non_client_frame_view.cc |
+++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view.cc |
@@ -17,7 +17,6 @@ |
#include "chrome/browser/ui/views/frame/browser_view.h" |
#include "chrome/browser/ui/views/frame/taskbar_decorator.h" |
#include "chrome/browser/ui/views/profiles/avatar_menu_button.h" |
-#include "chrome/browser/ui/views/profiles/new_avatar_button.h" |
#include "chrome/browser/ui/views/tabs/tab_strip.h" |
#include "chrome/browser/ui/views/theme_image_mapper.h" |
#include "components/signin/core/common/profile_management_switches.h" |
@@ -42,7 +41,7 @@ BrowserNonClientFrameView::BrowserNonClientFrameView(BrowserFrame* frame, |
supervised_user_avatar_label_(nullptr), |
#endif |
#if defined(FRAME_AVATAR_BUTTON) |
- new_avatar_button_(nullptr), |
+ profile_switcher_(this), |
#endif |
avatar_button_(nullptr) { |
// The profile manager may by null in tests. |
@@ -102,7 +101,7 @@ void BrowserNonClientFrameView::ChildPreferredSizeChanged(View* child) { |
#if defined(FRAME_AVATAR_BUTTON) |
// Only perform a re-layout if the avatar button has changed, since that |
// can affect the size of the tabs. |
- if (child == new_avatar_button_) { |
+ if (child == new_avatar_button()) { |
InvalidateLayout(); |
frame_->GetRootView()->Layout(); |
} |
@@ -251,24 +250,8 @@ void BrowserNonClientFrameView::UpdateOldAvatarButton() { |
#if defined(FRAME_AVATAR_BUTTON) |
void BrowserNonClientFrameView::UpdateNewAvatarButton( |
- views::ButtonListener* listener, |
- const NewAvatarButton::AvatarButtonStyle style) { |
- // This should never be called in incognito mode. |
- DCHECK(browser_view_->IsRegularOrGuestSession()); |
- |
- if (browser_view_->ShouldShowAvatar()) { |
- if (!new_avatar_button_) { |
- new_avatar_button_ = |
- new NewAvatarButton(listener, style, browser_view_->browser()); |
- new_avatar_button_->set_id(VIEW_ID_NEW_AVATAR_BUTTON); |
- AddChildView(new_avatar_button_); |
- frame_->GetRootView()->Layout(); |
- } |
- } else if (new_avatar_button_) { |
- delete new_avatar_button_; |
- new_avatar_button_ = nullptr; |
- frame_->GetRootView()->Layout(); |
- } |
+ const AvatarButtonStyle style) { |
+ profile_switcher_.Update(style); |
} |
#endif |