| Index: chrome/browser/managed_mode/managed_user_service.h
|
| diff --git a/chrome/browser/managed_mode/managed_user_service.h b/chrome/browser/managed_mode/managed_user_service.h
|
| index 43677d9524f59e5c0fd5795997754c845fda9c5e..a82a2ec29d035bb4d86599b53d256b27467421bf 100644
|
| --- a/chrome/browser/managed_mode/managed_user_service.h
|
| +++ b/chrome/browser/managed_mode/managed_user_service.h
|
| @@ -14,6 +14,7 @@
|
| #include "chrome/browser/extensions/management_policy.h"
|
| #include "chrome/browser/managed_mode/managed_mode_url_filter.h"
|
| #include "chrome/browser/profiles/profile_manager.h"
|
| +#include "chrome/browser/sync/profile_sync_service_observer.h"
|
| #include "components/browser_context_keyed_service/browser_context_keyed_service.h"
|
| #include "content/public/browser/notification_observer.h"
|
| #include "content/public/browser/notification_registrar.h"
|
| @@ -39,6 +40,7 @@ class PrefRegistrySyncable;
|
| // manual whitelist/blacklist overrides).
|
| class ManagedUserService : public BrowserContextKeyedService,
|
| public extensions::ManagementPolicy::Provider,
|
| + public ProfileSyncServiceObserver,
|
| public content::NotificationObserver {
|
| public:
|
| typedef std::vector<string16> CategoryList;
|
| @@ -52,6 +54,9 @@ class ManagedUserService : public BrowserContextKeyedService,
|
| explicit ManagedUserService(Profile* profile);
|
| virtual ~ManagedUserService();
|
|
|
| + // ProfileKeyedService override:
|
| + virtual void Shutdown() OVERRIDE;
|
| +
|
| bool ProfileIsManaged() const;
|
|
|
| // Checks whether the given profile is managed without constructing a
|
| @@ -109,9 +114,9 @@ class ManagedUserService : public BrowserContextKeyedService,
|
| // Marks the profile as managed and initializes it.
|
| void InitForTesting();
|
|
|
| - // Initializes this profile for syncing, using the provided |token| to
|
| - // authenticate requests.
|
| - void InitSync(const std::string& token);
|
| + // Initializes this profile for syncing, using the provided |refresh_token| to
|
| + // mint access tokens for Sync.
|
| + void InitSync(const std::string& refresh_token);
|
|
|
| // Convenience method that registers this managed user with
|
| // |registration_service| and initializes sync with the returned token.
|
| @@ -138,6 +143,9 @@ class ManagedUserService : public BrowserContextKeyedService,
|
| virtual bool UserMayModifySettings(const extensions::Extension* extension,
|
| string16* error) const OVERRIDE;
|
|
|
| + // ProfileSyncServiceObserver implementation:
|
| + virtual void OnStateChanged() OVERRIDE;
|
| +
|
| // content::NotificationObserver implementation:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| @@ -181,6 +189,8 @@ class ManagedUserService : public BrowserContextKeyedService,
|
| const GoogleServiceAuthError& auth_error,
|
| const std::string& token);
|
|
|
| + void SetupSync();
|
| +
|
| // Internal implementation for ExtensionManagementPolicy::Delegate methods.
|
| // If |error| is not NULL, it will be filled with an error message if the
|
| // requested extension action (install, modify status, etc.) is not permitted.
|
| @@ -213,6 +223,9 @@ class ManagedUserService : public BrowserContextKeyedService,
|
| content::NotificationRegistrar registrar_;
|
| PrefChangeRegistrar pref_change_registrar_;
|
|
|
| + // True iff we're waiting for the Sync service to be initialized.
|
| + bool waiting_for_sync_initialization_;
|
| +
|
| // Sets a profile in elevated state for testing if set to true.
|
| bool elevated_for_testing_;
|
|
|
|
|