| Index: chrome/browser/policy/user_cloud_policy_manager.cc
|
| diff --git a/chrome/browser/policy/user_cloud_policy_manager.cc b/chrome/browser/policy/user_cloud_policy_manager.cc
|
| index ccbc55dda31fbab82898fc60c9342ed7d4902193..84f4c67dae68dcfe0ffdf1f54ac724870c0bc8b0 100644
|
| --- a/chrome/browser/policy/user_cloud_policy_manager.cc
|
| +++ b/chrome/browser/policy/user_cloud_policy_manager.cc
|
| @@ -56,32 +56,21 @@ UserCloudPolicyManager::~UserCloudPolicyManager() {
|
| store_->RemoveObserver(this);
|
| }
|
|
|
| -#if defined(OS_CHROMEOS)
|
| // static
|
| scoped_ptr<UserCloudPolicyManager> UserCloudPolicyManager::Create(
|
| + Profile* profile,
|
| bool wait_for_policy_fetch) {
|
| - FilePath profile_dir;
|
| - CHECK(PathService::Get(chrome::DIR_USER_DATA, &profile_dir));
|
| - CommandLine* command_line = CommandLine::ForCurrentProcess();
|
| - const FilePath policy_dir =
|
| - profile_dir
|
| - .Append(command_line->GetSwitchValuePath(switches::kLoginProfile))
|
| - .Append(kPolicyDir);
|
| - const FilePath policy_cache_file = policy_dir.Append(kPolicyCacheFile);
|
| - const FilePath token_cache_file = policy_dir.Append(kTokenCacheFile);
|
| -
|
| - scoped_ptr<CloudPolicyStore> store(
|
| - new UserCloudPolicyStoreChromeOS(
|
| - chromeos::DBusThreadManager::Get()->GetSessionManagerClient(),
|
| - token_cache_file, policy_cache_file));
|
| + scoped_ptr<CloudPolicyStore> store =
|
| + CloudPolicyStore::CreateUserPolicyStore(profile);
|
| return scoped_ptr<UserCloudPolicyManager>(
|
| new UserCloudPolicyManager(store.Pass(), wait_for_policy_fetch));
|
| }
|
| -#endif
|
|
|
| void UserCloudPolicyManager::Initialize(PrefService* prefs,
|
| DeviceManagementService* service,
|
| UserAffiliation user_affiliation) {
|
| + DCHECK(service);
|
| + DCHECK(prefs);
|
| DCHECK(!service_.get());
|
| prefs_ = prefs;
|
| scoped_ptr<CloudPolicyClient> client(
|
| @@ -129,6 +118,18 @@ void UserCloudPolicyManager::CancelWaitForPolicyFetch() {
|
| }
|
| }
|
|
|
| +bool UserCloudPolicyManager::IsClientRegistered() const {
|
| + if (!service_.get())
|
| + return false;
|
| + return service_->client()->is_registered();
|
| +}
|
| +
|
| +void UserCloudPolicyManager::RegisterClient(const std::string& access_token) {
|
| + DCHECK(cloud_policy_service()) << "Callers must invoke Initialize() first";
|
| + if (!cloud_policy_service()->client()->is_registered())
|
| + cloud_policy_service()->client()->Register(access_token);
|
| +}
|
| +
|
| bool UserCloudPolicyManager::IsInitializationComplete() const {
|
| return store_->is_initialized() && !wait_for_policy_fetch_;
|
| }
|
|
|