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); |
}; |