| Index: chrome/browser/policy/user_policy_cache.cc
|
| diff --git a/chrome/browser/policy/user_policy_cache.cc b/chrome/browser/policy/user_policy_cache.cc
|
| index d0484f5e465ef84b6188d6f96aa6f73daeec4a2c..4ed00cc49ec0879db62cb8f609afbe44a3827843 100644
|
| --- a/chrome/browser/policy/user_policy_cache.cc
|
| +++ b/chrome/browser/policy/user_policy_cache.cc
|
| @@ -10,7 +10,9 @@
|
| #include "base/basictypes.h"
|
| #include "base/logging.h"
|
| #include "base/values.h"
|
| -#include "chrome/browser/policy/configuration_policy_pref_store.h"
|
| +#include "chrome/browser/browser_process.h"
|
| +#include "chrome/browser/policy/browser_policy_connector.h"
|
| +#include "chrome/browser/policy/cloud_policy_provider.h"
|
| #include "chrome/browser/policy/policy_map.h"
|
| #include "chrome/browser/policy/proto/cloud_policy.pb.h"
|
| #include "chrome/browser/policy/proto/device_management_local.pb.h"
|
| @@ -26,7 +28,8 @@ void DecodePolicy(const em::CloudPolicySettings& policy,
|
| PolicyMap* mandatory, PolicyMap* recommended);
|
|
|
| UserPolicyCache::UserPolicyCache(const FilePath& backing_file_path)
|
| - : ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)) {
|
| + : ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)),
|
| + first_load_complete_(false) {
|
| disk_cache_ = new UserPolicyDiskCache(weak_ptr_factory_.GetWeakPtr(),
|
| backing_file_path);
|
| }
|
| @@ -67,8 +70,13 @@ void UserPolicyCache::SetUnmanaged() {
|
| disk_cache_->Store(cached_policy);
|
| }
|
|
|
| +bool UserPolicyCache::IsReady() {
|
| + return initialization_complete() || first_load_complete_;
|
| +}
|
| +
|
| void UserPolicyCache::OnDiskCacheLoaded(
|
| const em::CachedCloudPolicyResponse& cached_response) {
|
| + first_load_complete_ = true;
|
| if (initialization_complete())
|
| return;
|
|
|
| @@ -149,7 +157,8 @@ void UserPolicyCache::MaybeDecodeOldstylePolicy(
|
| // Hack: Let one of the providers do the transformation from DictionaryValue
|
| // to PolicyMap, since they have the required code anyway.
|
| PolicyMapProxy map_proxy(mandatory);
|
| - GetManagedPolicyProvider()->ApplyPolicyValueTree(&result, &map_proxy);
|
| + g_browser_process->browser_policy_connector()->GetManagedCloudProvider()->
|
| + ApplyPolicyValueTree(&result, &map_proxy);
|
| }
|
|
|
| Value* UserPolicyCache::DecodeIntegerValue(
|
|
|