Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2219)

Unified Diff: chrome/browser/policy/cloud_policy_manager.cc

Issue 11299305: Break CloudPolicyRefreshScheduler's dependency on PrefService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/policy/cloud_policy_manager.cc
diff --git a/chrome/browser/policy/cloud_policy_manager.cc b/chrome/browser/policy/cloud_policy_manager.cc
index a80fe6933afa9aaeb931d91c8847517105b4b16d..f4f6d71ba7e4ee4a45bf2cfcb4cef83994a3377e 100644
--- a/chrome/browser/policy/cloud_policy_manager.cc
+++ b/chrome/browser/policy/cloud_policy_manager.cc
@@ -11,6 +11,7 @@
#include "chrome/browser/policy/cloud_policy_service.h"
#include "chrome/browser/policy/policy_bundle.h"
#include "chrome/browser/policy/policy_map.h"
+#include "chrome/browser/prefs/pref_service.h"
namespace policy {
@@ -73,6 +74,7 @@ void CloudPolicyManager::InitializeService(
}
void CloudPolicyManager::ShutdownService() {
+ refresh_delay_.reset();
refresh_scheduler_.reset();
service_.reset();
client_.reset();
@@ -82,10 +84,15 @@ void CloudPolicyManager::StartRefreshScheduler(
PrefService* local_state,
const std::string& refresh_rate_pref) {
if (!refresh_scheduler_.get()) {
+ refresh_delay_.reset(new IntegerPrefMember());
+ refresh_delay_->Init(refresh_rate_pref.c_str(), local_state,
+ base::Bind(&CloudPolicyManager::UpdateRefreshDelay,
+ base::Unretained(this)));
refresh_scheduler_.reset(
new CloudPolicyRefreshScheduler(
- client_.get(), store_, local_state, refresh_rate_pref,
+ client_.get(), store_,
MessageLoop::current()->message_loop_proxy()));
+ UpdateRefreshDelay();
}
}
@@ -103,4 +110,8 @@ void CloudPolicyManager::OnRefreshComplete() {
CheckAndPublishPolicy();
}
+void CloudPolicyManager::UpdateRefreshDelay() {
+ refresh_scheduler_->SetRefreshDelay(refresh_delay_->GetValue());
+}
+
} // namespace policy

Powered by Google App Engine
This is Rietveld 408576698