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

Side by Side Diff: chrome/browser/profiles/avatar_menu.h

Issue 2468723003: Move session service and supervised users to buildflags. (Closed)
Patch Set: Created 4 years, 1 month 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_PROFILES_AVATAR_MENU_H_ 5 #ifndef CHROME_BROWSER_PROFILES_AVATAR_MENU_H_
6 #define CHROME_BROWSER_PROFILES_AVATAR_MENU_H_ 6 #define CHROME_BROWSER_PROFILES_AVATAR_MENU_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <string> 10 #include <string>
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/compiler_specific.h" 13 #include "base/compiler_specific.h"
14 #include "base/files/file_path.h" 14 #include "base/files/file_path.h"
15 #include "base/macros.h" 15 #include "base/macros.h"
16 #include "base/scoped_observer.h" 16 #include "base/scoped_observer.h"
17 #include "base/strings/string16.h" 17 #include "base/strings/string16.h"
18 #include "chrome/browser/profiles/profile_attributes_storage.h" 18 #include "chrome/browser/profiles/profile_attributes_storage.h"
19 #include "chrome/browser/profiles/profile_metrics.h" 19 #include "chrome/browser/profiles/profile_metrics.h"
20 #include "chrome/common/features.h"
20 #include "content/public/browser/web_contents.h" 21 #include "content/public/browser/web_contents.h"
21 #include "content/public/browser/web_contents_observer.h" 22 #include "content/public/browser/web_contents_observer.h"
22 #include "ui/gfx/image/image.h" 23 #include "ui/gfx/image/image.h"
23 24
24 #if defined(ENABLE_SUPERVISED_USERS) 25 #if BUILDFLAG(ENABLE_SUPERVISED_USERS)
25 #include "chrome/browser/supervised_user/supervised_user_service_observer.h" 26 #include "chrome/browser/supervised_user/supervised_user_service_observer.h"
26 #endif 27 #endif
27 28
28 class AvatarMenuActions; 29 class AvatarMenuActions;
29 class AvatarMenuObserver; 30 class AvatarMenuObserver;
30 class Browser; 31 class Browser;
31 class Profile; 32 class Profile;
32 class ProfileAttributesStorage; 33 class ProfileAttributesStorage;
33 class ProfileList; 34 class ProfileList;
34 class SupervisedUserService; 35 class SupervisedUserService;
35 36
36 // This class represents the menu-like interface used to select profiles, 37 // This class represents the menu-like interface used to select profiles,
37 // such as the bubble that appears when the avatar icon is clicked in the 38 // such as the bubble that appears when the avatar icon is clicked in the
38 // browser window frame. This class will notify its observer when the backend 39 // browser window frame. This class will notify its observer when the backend
39 // data changes, and the view for this model should forward actions 40 // data changes, and the view for this model should forward actions
40 // back to it in response to user events. 41 // back to it in response to user events.
41 class AvatarMenu : 42 class AvatarMenu :
42 #if defined(ENABLE_SUPERVISED_USERS) 43 #if BUILDFLAG(ENABLE_SUPERVISED_USERS)
43 public SupervisedUserServiceObserver, 44 public SupervisedUserServiceObserver,
44 #endif 45 #endif
45 public ProfileAttributesStorage::Observer { 46 public ProfileAttributesStorage::Observer {
46 public: 47 public:
47 // Represents an item in the menu. 48 // Represents an item in the menu.
48 struct Item { 49 struct Item {
49 Item(size_t menu_index, const base::FilePath& profile_path, 50 Item(size_t menu_index, const base::FilePath& profile_path,
50 const gfx::Image& icon); 51 const gfx::Image& icon);
51 Item(const Item& other); 52 Item(const Item& other);
52 ~Item(); 53 ~Item();
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 void OnProfileNameChanged(const base::FilePath& profile_path, 155 void OnProfileNameChanged(const base::FilePath& profile_path,
155 const base::string16& old_profile_name) override; 156 const base::string16& old_profile_name) override;
156 void OnProfileAuthInfoChanged(const base::FilePath& profile_path) override; 157 void OnProfileAuthInfoChanged(const base::FilePath& profile_path) override;
157 void OnProfileAvatarChanged(const base::FilePath& profile_path) override; 158 void OnProfileAvatarChanged(const base::FilePath& profile_path) override;
158 void OnProfileHighResAvatarLoaded( 159 void OnProfileHighResAvatarLoaded(
159 const base::FilePath& profile_path) override; 160 const base::FilePath& profile_path) override;
160 void OnProfileSigninRequiredChanged( 161 void OnProfileSigninRequiredChanged(
161 const base::FilePath& profile_path) override; 162 const base::FilePath& profile_path) override;
162 void OnProfileIsOmittedChanged(const base::FilePath& profile_path) override; 163 void OnProfileIsOmittedChanged(const base::FilePath& profile_path) override;
163 164
164 #if defined(ENABLE_SUPERVISED_USERS) 165 #if BUILDFLAG(ENABLE_SUPERVISED_USERS)
165 // SupervisedUserServiceObserver: 166 // SupervisedUserServiceObserver:
166 void OnCustodianInfoChanged() override; 167 void OnCustodianInfoChanged() override;
167 #endif 168 #endif
168 169
169 // Rebuilds the menu and notifies any observers that an update occured. 170 // Rebuilds the menu and notifies any observers that an update occured.
170 void Update(); 171 void Update();
171 172
172 // The model that provides the list of menu items. 173 // The model that provides the list of menu items.
173 std::unique_ptr<ProfileList> profile_list_; 174 std::unique_ptr<ProfileList> profile_list_;
174 175
175 // The controller for avatar menu actions. 176 // The controller for avatar menu actions.
176 std::unique_ptr<AvatarMenuActions> menu_actions_; 177 std::unique_ptr<AvatarMenuActions> menu_actions_;
177 178
178 #if defined(ENABLE_SUPERVISED_USERS) 179 #if BUILDFLAG(ENABLE_SUPERVISED_USERS)
179 // Observes changes to a supervised user's custodian info. 180 // Observes changes to a supervised user's custodian info.
180 ScopedObserver<SupervisedUserService, SupervisedUserServiceObserver> 181 ScopedObserver<SupervisedUserService, SupervisedUserServiceObserver>
181 supervised_user_observer_; 182 supervised_user_observer_;
182 #endif 183 #endif
183 184
184 // The storage that provides the profile attributes. Weak. 185 // The storage that provides the profile attributes. Weak.
185 ProfileAttributesStorage* profile_storage_; 186 ProfileAttributesStorage* profile_storage_;
186 187
187 // The observer of this model, which is notified of changes. Weak. 188 // The observer of this model, which is notified of changes. Weak.
188 AvatarMenuObserver* observer_; 189 AvatarMenuObserver* observer_;
189 190
190 // Browser in which this avatar menu resides. Weak. 191 // Browser in which this avatar menu resides. Weak.
191 Browser* browser_; 192 Browser* browser_;
192 193
193 DISALLOW_COPY_AND_ASSIGN(AvatarMenu); 194 DISALLOW_COPY_AND_ASSIGN(AvatarMenu);
194 }; 195 };
195 196
196 #endif // CHROME_BROWSER_PROFILES_AVATAR_MENU_H_ 197 #endif // CHROME_BROWSER_PROFILES_AVATAR_MENU_H_
OLDNEW
« no previous file with comments | « chrome/browser/prefs/chrome_pref_service_factory.cc ('k') | chrome/browser/profiles/avatar_menu.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698