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

Unified Diff: chrome/browser/ui/views/frame/glass_browser_frame_view.h

Issue 2851543002: Update avatar button to MD (part 1) (Closed)
Patch Set: Fixed TODO comments Created 3 years, 7 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/glass_browser_frame_view.h
diff --git a/chrome/browser/ui/views/frame/glass_browser_frame_view.h b/chrome/browser/ui/views/frame/glass_browser_frame_view.h
index 8b0ad07cd6475aa4dbbeb5512a5421fd3060b860..e438cf01917dc386e4be624899196b8551de61b3 100644
--- a/chrome/browser/ui/views/frame/glass_browser_frame_view.h
+++ b/chrome/browser/ui/views/frame/glass_browser_frame_view.h
@@ -7,20 +7,24 @@
#include "base/compiler_specific.h"
#include "base/macros.h"
+#include "base/scoped_observer.h"
#include "base/win/scoped_gdi_object.h"
#include "chrome/browser/ui/views/frame/avatar_button_manager.h"
#include "chrome/browser/ui/views/frame/browser_non_client_frame_view.h"
#include "chrome/browser/ui/views/frame/windows_10_caption_button.h"
#include "chrome/browser/ui/views/tab_icon_view.h"
#include "chrome/browser/ui/views/tab_icon_view_model.h"
+#include "chrome/browser/ui/views/tabs/tab_strip_observer.h"
#include "ui/views/controls/button/button.h"
#include "ui/views/window/non_client_view.h"
class BrowserView;
+class TabStrip;
class GlassBrowserFrameView : public BrowserNonClientFrameView,
public views::ButtonListener,
- public TabIconViewModel {
+ public TabIconViewModel,
+ public TabStripObserver {
public:
// Constructs a non-client view for an BrowserFrame.
GlassBrowserFrameView(BrowserFrame* frame, BrowserView* browser_view);
@@ -33,6 +37,7 @@ class GlassBrowserFrameView : public BrowserNonClientFrameView,
void UpdateThrobber(bool running) override;
gfx::Size GetMinimumSize() const override;
views::View* GetProfileSwitcherView() const override;
+ void OnBrowserViewInitViewsComplete() override;
// views::NonClientFrameView:
gfx::Rect GetBoundsForClientView() const override;
@@ -52,6 +57,11 @@ class GlassBrowserFrameView : public BrowserNonClientFrameView,
bool ShouldTabIconViewAnimate() const override;
gfx::ImageSkia GetFaviconForTabIconView() override;
+ // TabStripObserver:
+ void TabStripMaxXChanged(TabStrip* tab_strip) override;
+ void TabStripDeleted(TabStrip* tab_strip) override;
+ void TabStripRemovedTabAt(TabStrip* tab_strip, int index) override;
+
bool IsMaximized() const;
// Visual height of the titlebar when the window is maximized (i.e. excluding
@@ -64,6 +74,7 @@ class GlassBrowserFrameView : public BrowserNonClientFrameView,
// views::View:
void OnPaint(gfx::Canvas* canvas) override;
void Layout() override;
+ void ChildPreferredSizeChanged(views::View* child) override;
// BrowserNonClientFrameView:
void UpdateProfileIcons() override;
@@ -189,6 +200,10 @@ class GlassBrowserFrameView : public BrowserNonClientFrameView,
// The index of the current frame of the throbber animation.
int throbber_frame_;
+ // The window's tabstrip, if any, is observed so we know when to resize any
+ // avatar button.
+ ScopedObserver<TabStrip, GlassBrowserFrameView> tab_strip_observer_;
+
static const int kThrobberIconCount = 24;
static HICON throbber_icons_[kThrobberIconCount];
static void InitThrobberIcons();
« no previous file with comments | « chrome/browser/ui/views/frame/avatar_button_manager.cc ('k') | chrome/browser/ui/views/frame/glass_browser_frame_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698