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

Side by Side Diff: chrome/browser/ui/views/frame/browser_non_client_frame_view.h

Issue 1701563002: Refactor ProfileInfoCache in c/b/ui/views (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Respond to comments Created 4 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_NON_CLIENT_FRAME_VIEW_H_ 5 #ifndef CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_NON_CLIENT_FRAME_VIEW_H_
6 #define CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_NON_CLIENT_FRAME_VIEW_H_ 6 #define CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_NON_CLIENT_FRAME_VIEW_H_
7 7
8 #include "chrome/browser/profiles/profile_info_cache_observer.h" 8 #include "chrome/browser/profiles/profile_attributes_storage.h"
9 #include "ui/views/window/non_client_view.h" 9 #include "ui/views/window/non_client_view.h"
10 10
11 class AvatarMenuButton; 11 class AvatarMenuButton;
12 class BrowserFrame; 12 class BrowserFrame;
13 class BrowserView; 13 class BrowserView;
14 14
15 // A specialization of the NonClientFrameView object that provides additional 15 // A specialization of the NonClientFrameView object that provides additional
16 // Browser-specific methods. 16 // Browser-specific methods.
17 class BrowserNonClientFrameView : public views::NonClientFrameView, 17 class BrowserNonClientFrameView : public views::NonClientFrameView,
18 public ProfileInfoCacheObserver { 18 public ProfileAttributesStorage::Observer {
19 public: 19 public:
20 BrowserNonClientFrameView(BrowserFrame* frame, BrowserView* browser_view); 20 BrowserNonClientFrameView(BrowserFrame* frame, BrowserView* browser_view);
21 ~BrowserNonClientFrameView() override; 21 ~BrowserNonClientFrameView() override;
22 22
23 BrowserView* browser_view() const { return browser_view_; } 23 BrowserView* browser_view() const { return browser_view_; }
24 BrowserFrame* frame() const { return frame_; } 24 BrowserFrame* frame() const { return frame_; }
25 AvatarMenuButton* avatar_button() const { return avatar_button_; } 25 AvatarMenuButton* avatar_button() const { return avatar_button_; }
26 26
27 // Called when BrowserView creates all it's child views. 27 // Called when BrowserView creates all it's child views.
28 virtual void OnBrowserViewInitViewsComplete(); 28 virtual void OnBrowserViewInitViewsComplete();
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 #endif 72 #endif
73 73
74 // Update the profile switcher button if one should exist. Otherwise, update 74 // Update the profile switcher button if one should exist. Otherwise, update
75 // the incognito avatar, or profile avatar for teleported frames in ChromeOS. 75 // the incognito avatar, or profile avatar for teleported frames in ChromeOS.
76 virtual void UpdateAvatar() = 0; 76 virtual void UpdateAvatar() = 0;
77 77
78 // Updates the title and icon of the old avatar button. 78 // Updates the title and icon of the old avatar button.
79 void UpdateOldAvatarButton(); 79 void UpdateOldAvatarButton();
80 80
81 private: 81 private:
82 // Overriden from ProfileInfoCacheObserver. 82 // Overriden from ProfileAttributesStorage::Observer.
83 void OnProfileAdded(const base::FilePath& profile_path) override; 83 void OnProfileAdded(const base::FilePath& profile_path) override;
84 void OnProfileWasRemoved(const base::FilePath& profile_path, 84 void OnProfileWasRemoved(const base::FilePath& profile_path,
85 const base::string16& profile_name) override; 85 const base::string16& profile_name) override;
86 void OnProfileAvatarChanged(const base::FilePath& profile_path) override; 86 void OnProfileAvatarChanged(const base::FilePath& profile_path) override;
87 87
88 // Draws a taskbar icon if avatars are enabled, erases it otherwise. 88 // Draws a taskbar icon if avatars are enabled, erases it otherwise.
89 void UpdateTaskbarDecoration(); 89 void UpdateTaskbarDecoration();
90 90
91 // The frame that hosts this view. 91 // The frame that hosts this view.
92 BrowserFrame* frame_; 92 BrowserFrame* frame_;
93 93
94 // The BrowserView hosted within this View. 94 // The BrowserView hosted within this View.
95 BrowserView* browser_view_; 95 BrowserView* browser_view_;
96 96
97 // Menu button that displays the incognito icon. May be null for some frame 97 // Menu button that displays the incognito icon. May be null for some frame
98 // styles. TODO(anthonyvd): simplify/rename. 98 // styles. TODO(anthonyvd): simplify/rename.
99 AvatarMenuButton* avatar_button_; 99 AvatarMenuButton* avatar_button_ = nullptr;
100 }; 100 };
101 101
102 namespace chrome { 102 namespace chrome {
103 103
104 // Provided by a browser_non_client_frame_view_factory_*.cc implementation 104 // Provided by a browser_non_client_frame_view_factory_*.cc implementation
105 BrowserNonClientFrameView* CreateBrowserNonClientFrameView( 105 BrowserNonClientFrameView* CreateBrowserNonClientFrameView(
106 BrowserFrame* frame, BrowserView* browser_view); 106 BrowserFrame* frame, BrowserView* browser_view);
107 107
108 } // namespace chrome 108 } // namespace chrome
109 109
110 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_NON_CLIENT_FRAME_VIEW_H_ 110 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_NON_CLIENT_FRAME_VIEW_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698