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

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

Issue 1733293002: Toggle avatar color when window activation changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix bad rebase Created 4 years, 9 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.h
diff --git a/chrome/browser/ui/views/frame/browser_non_client_frame_view.h b/chrome/browser/ui/views/frame/browser_non_client_frame_view.h
index 364c02a16958461fceecf4a83710365deff02211..47777c53626471230ae5848465b471ff860eea89 100644
--- a/chrome/browser/ui/views/frame/browser_non_client_frame_view.h
+++ b/chrome/browser/ui/views/frame/browser_non_client_frame_view.h
@@ -5,7 +5,9 @@
#ifndef CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_NON_CLIENT_FRAME_VIEW_H_
#define CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_NON_CLIENT_FRAME_VIEW_H_
+#include "base/scoped_observer.h"
#include "chrome/browser/profiles/profile_attributes_storage.h"
+#include "ui/views/widget/widget_observer.h"
#include "ui/views/window/non_client_view.h"
class AvatarMenuButton;
@@ -15,6 +17,7 @@ class BrowserView;
// A specialization of the NonClientFrameView object that provides additional
// Browser-specific methods.
class BrowserNonClientFrameView : public views::NonClientFrameView,
+ public views::WidgetObserver,
public ProfileAttributesStorage::Observer {
public:
BrowserNonClientFrameView(BrowserFrame* frame, BrowserView* browser_view);
@@ -90,6 +93,10 @@ class BrowserNonClientFrameView : public views::NonClientFrameView,
void ViewHierarchyChanged(
const ViewHierarchyChangedDetails& details) override;
+ // views::WidgetObserver:
+ void OnWidgetDestroyed(views::Widget* widget) override;
+ void OnWidgetActivationChanged(views::Widget* widget, bool active) override;
+
// ProfileAttributesStorage::Observer:
void OnProfileAdded(const base::FilePath& profile_path) override;
void OnProfileWasRemoved(const base::FilePath& profile_path,
@@ -113,6 +120,8 @@ class BrowserNonClientFrameView : public views::NonClientFrameView,
// styles. TODO(anthonyvd): simplify/rename.
AvatarMenuButton* avatar_button_ = nullptr;
+ ScopedObserver<views::Widget, views::WidgetObserver> observer_;
+
DISALLOW_COPY_AND_ASSIGN(BrowserNonClientFrameView);
};

Powered by Google App Engine
This is Rietveld 408576698