Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4125)

Unified Diff: chrome/browser/ui/views/frame/browser_non_client_frame_view.cc

Issue 1608843002: Start untangling the avatar switcher from BrowserNonClientFrameView (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@20160119-MacViewsBrowser-Compile
Patch Set: rename, enum class Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698