OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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_MANAGED_MODE_MANAGED_USER_SERVICE_H_ | 5 #ifndef CHROME_BROWSER_MANAGED_MODE_MANAGED_USER_SERVICE_H_ |
6 #define CHROME_BROWSER_MANAGED_MODE_MANAGED_USER_SERVICE_H_ | 6 #define CHROME_BROWSER_MANAGED_MODE_MANAGED_USER_SERVICE_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 public content::NotificationObserver { | 44 public content::NotificationObserver { |
45 public: | 45 public: |
46 typedef std::vector<string16> CategoryList; | 46 typedef std::vector<string16> CategoryList; |
47 | 47 |
48 enum ManualBehavior { | 48 enum ManualBehavior { |
49 MANUAL_NONE = 0, | 49 MANUAL_NONE = 0, |
50 MANUAL_ALLOW, | 50 MANUAL_ALLOW, |
51 MANUAL_BLOCK | 51 MANUAL_BLOCK |
52 }; | 52 }; |
53 | 53 |
54 explicit ManagedUserService(Profile* profile); | |
55 virtual ~ManagedUserService(); | 54 virtual ~ManagedUserService(); |
56 | 55 |
57 // ProfileKeyedService override: | 56 // ProfileKeyedService override: |
58 virtual void Shutdown() OVERRIDE; | 57 virtual void Shutdown() OVERRIDE; |
59 | 58 |
60 bool ProfileIsManaged() const; | 59 bool ProfileIsManaged() const; |
61 | 60 |
62 // Checks whether the given profile is managed without constructing a | 61 // Checks whether the given profile is managed without constructing a |
63 // ManagedUserService (which could lead to cyclic dependencies). | 62 // ManagedUserService (which could lead to cyclic dependencies). |
64 static bool ProfileIsManaged(Profile* profile); | 63 static bool ProfileIsManaged(Profile* profile); |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 // ProfileSyncServiceObserver implementation: | 150 // ProfileSyncServiceObserver implementation: |
152 virtual void OnStateChanged() OVERRIDE; | 151 virtual void OnStateChanged() OVERRIDE; |
153 | 152 |
154 // content::NotificationObserver implementation: | 153 // content::NotificationObserver implementation: |
155 virtual void Observe(int type, | 154 virtual void Observe(int type, |
156 const content::NotificationSource& source, | 155 const content::NotificationSource& source, |
157 const content::NotificationDetails& details) OVERRIDE; | 156 const content::NotificationDetails& details) OVERRIDE; |
158 | 157 |
159 private: | 158 private: |
160 friend class ManagedUserServiceExtensionTest; | 159 friend class ManagedUserServiceExtensionTest; |
| 160 friend class ManagedUserServiceFactory; |
161 | 161 |
162 // A bridge from ManagedMode (which lives on the UI thread) to the | 162 // A bridge from ManagedMode (which lives on the UI thread) to the |
163 // ManagedModeURLFilters, one of which lives on the IO thread. This class | 163 // ManagedModeURLFilters, one of which lives on the IO thread. This class |
164 // mediates access to them and makes sure they are kept in sync. | 164 // mediates access to them and makes sure they are kept in sync. |
165 class URLFilterContext { | 165 class URLFilterContext { |
166 public: | 166 public: |
167 URLFilterContext(); | 167 URLFilterContext(); |
168 ~URLFilterContext(); | 168 ~URLFilterContext(); |
169 | 169 |
170 ManagedModeURLFilter* ui_url_filter() const; | 170 ManagedModeURLFilter* ui_url_filter() const; |
(...skipping 11 matching lines...) Expand all Loading... |
182 // network requests), so they both keep a reference to it. | 182 // network requests), so they both keep a reference to it. |
183 // Clients should not keep references to the UI thread filter, however | 183 // Clients should not keep references to the UI thread filter, however |
184 // (the filter will live as long as the profile lives, and afterwards it | 184 // (the filter will live as long as the profile lives, and afterwards it |
185 // should not be used anymore either). | 185 // should not be used anymore either). |
186 scoped_refptr<ManagedModeURLFilter> ui_url_filter_; | 186 scoped_refptr<ManagedModeURLFilter> ui_url_filter_; |
187 scoped_refptr<ManagedModeURLFilter> io_url_filter_; | 187 scoped_refptr<ManagedModeURLFilter> io_url_filter_; |
188 | 188 |
189 DISALLOW_COPY_AND_ASSIGN(URLFilterContext); | 189 DISALLOW_COPY_AND_ASSIGN(URLFilterContext); |
190 }; | 190 }; |
191 | 191 |
| 192 // Use |ManagedUserServiceFactory::GetForProfile(..)| to get |
| 193 // an instance of this service. |
| 194 explicit ManagedUserService(Profile* profile); |
| 195 |
192 void OnCustodianProfileDownloaded(const string16& full_name); | 196 void OnCustodianProfileDownloaded(const string16& full_name); |
193 | 197 |
194 void OnManagedUserRegistered(const ProfileManager::CreateCallback& callback, | 198 void OnManagedUserRegistered(const ProfileManager::CreateCallback& callback, |
195 Profile* custodian_profile, | 199 Profile* custodian_profile, |
196 const GoogleServiceAuthError& auth_error, | 200 const GoogleServiceAuthError& auth_error, |
197 const std::string& token); | 201 const std::string& token); |
198 | 202 |
199 void SetupSync(); | 203 void SetupSync(); |
200 | 204 |
201 // Internal implementation for ExtensionManagementPolicy::Delegate methods. | 205 // Internal implementation for ExtensionManagementPolicy::Delegate methods. |
(...skipping 27 matching lines...) Expand all Loading... |
229 | 233 |
230 content::NotificationRegistrar registrar_; | 234 content::NotificationRegistrar registrar_; |
231 PrefChangeRegistrar pref_change_registrar_; | 235 PrefChangeRegistrar pref_change_registrar_; |
232 | 236 |
233 // True iff we're waiting for the Sync service to be initialized. | 237 // True iff we're waiting for the Sync service to be initialized. |
234 bool waiting_for_sync_initialization_; | 238 bool waiting_for_sync_initialization_; |
235 | 239 |
236 // Sets a profile in elevated state for testing if set to true. | 240 // Sets a profile in elevated state for testing if set to true. |
237 bool elevated_for_testing_; | 241 bool elevated_for_testing_; |
238 | 242 |
| 243 // True only when |Shutdown()| method has been called. |
| 244 bool did_shutdown_; |
| 245 |
239 URLFilterContext url_filter_context_; | 246 URLFilterContext url_filter_context_; |
240 }; | 247 }; |
241 | 248 |
242 #endif // CHROME_BROWSER_MANAGED_MODE_MANAGED_USER_SERVICE_H_ | 249 #endif // CHROME_BROWSER_MANAGED_MODE_MANAGED_USER_SERVICE_H_ |
OLD | NEW |