| 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
|
|
|
|
|