Chromium Code Reviews| 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..c6cac81e12979b5f928ec9660485e1219c1a803f 100644 |
| --- a/chrome/browser/policy/user_policy_cache.cc |
| +++ b/chrome/browser/policy/user_policy_cache.cc |
| @@ -10,6 +10,9 @@ |
| #include "base/basictypes.h" |
| #include "base/logging.h" |
| #include "base/values.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/configuration_policy_pref_store.h" |
|
Joao da Silva
2011/06/29 11:36:17
Nit: configuration_policy_pref_store.h not needed.
gfeher
2011/06/29 12:53:07
Done.
|
| #include "chrome/browser/policy/policy_map.h" |
| #include "chrome/browser/policy/proto/cloud_policy.pb.h" |
| @@ -26,7 +29,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 +71,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 +158,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( |