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 ec5afd94add6ab8c29be81d1ed09466eb0981bfc..e352f2b7c39fb15d578fffeb9679edfab1c76118 100644 |
| --- a/chrome/browser/policy/user_policy_cache.cc |
| +++ b/chrome/browser/policy/user_policy_cache.cc |
| @@ -27,10 +27,12 @@ namespace policy { |
| void DecodePolicy(const em::CloudPolicySettings& policy, PolicyMap* map); |
| UserPolicyCache::UserPolicyCache(const FilePath& backing_file_path, |
| - bool wait_for_policy_fetch) |
| + bool wait_for_policy_fetch, |
| + const base::Closure& callback) |
| : ALLOW_THIS_IN_INITIALIZER_LIST(weak_ptr_factory_(this)), |
| disk_cache_ready_(false), |
| - fetch_ready_(!wait_for_policy_fetch) { |
| + fetch_ready_(!wait_for_policy_fetch), |
| + ready_callback_(callback) { |
| disk_cache_ = new UserPolicyDiskCache(weak_ptr_factory_.GetWeakPtr(), |
| backing_file_path); |
| } |
| @@ -117,8 +119,13 @@ bool UserPolicyCache::DecodePolicyData(const em::PolicyData& policy_data, |
| } |
| void UserPolicyCache::CheckIfReady() { |
| - if (!IsReady() && disk_cache_ready_ && fetch_ready_) |
| + if (!IsReady() && disk_cache_ready_ && fetch_ready_) { |
| SetReady(); |
|
Mattias Nissler (ping if slow)
2012/02/16 10:24:11
Are you going to clean up all the existing ready-s
|
| + if (!ready_callback_.is_null()) { |
| + ready_callback_.Run(); |
| + ready_callback_.Reset(); |
| + } |
| + } |
| } |
| // Everything below is only needed for supporting old-style GenericNamedValue |