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

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

Issue 11415094: Split UserCloudPolicyManager implementation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Crazy ProfileKeyedService hackery. Created 8 years, 1 month 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 e0a7186ba0240ac24ccbda8855e9bf387d3973e6..f4ba84e0b6662c5b89fa9d032c290531c5823d58 100644
--- a/chrome/browser/policy/cloud_policy_manager.cc
+++ b/chrome/browser/policy/cloud_policy_manager.cc
@@ -14,8 +14,8 @@
namespace policy {
-CloudPolicyManager::CloudPolicyManager(scoped_ptr<CloudPolicyStore> store)
- : store_(store.Pass()),
+CloudPolicyManager::CloudPolicyManager(CloudPolicyStore* store)
+ : store_(store),
waiting_for_policy_refresh_(false) {
store_->AddObserver(this);
@@ -27,12 +27,15 @@ CloudPolicyManager::CloudPolicyManager(scoped_ptr<CloudPolicyStore> store)
store_->Load();
}
-CloudPolicyManager::~CloudPolicyManager() {}
+CloudPolicyManager::~CloudPolicyManager() {
+ DCHECK(!store_);
+}
void CloudPolicyManager::Shutdown() {
ShutdownService();
store_->RemoveObserver(this);
ConfigurationPolicyProvider::Shutdown();
+ store_ = NULL;
}
bool CloudPolicyManager::IsInitializationComplete() const {
@@ -51,12 +54,12 @@ void CloudPolicyManager::RefreshPolicies() {
}
void CloudPolicyManager::OnStoreLoaded(CloudPolicyStore* store) {
- DCHECK_EQ(store_.get(), store);
+ DCHECK_EQ(store_, store);
CheckAndPublishPolicy();
}
void CloudPolicyManager::OnStoreError(CloudPolicyStore* store) {
- DCHECK_EQ(store_.get(), store);
+ DCHECK_EQ(store_, store);
// No action required, the old policy is still valid.
}
@@ -65,7 +68,7 @@ void CloudPolicyManager::InitializeService(
CHECK(!client_.get());
CHECK(client.get());
client_ = client.Pass();
- service_.reset(new CloudPolicyService(client_.get(), store_.get()));
+ service_.reset(new CloudPolicyService(client_.get(), store_));
}
void CloudPolicyManager::ShutdownService() {
@@ -80,7 +83,7 @@ void CloudPolicyManager::StartRefreshScheduler(
if (!refresh_scheduler_.get()) {
refresh_scheduler_.reset(
new CloudPolicyRefreshScheduler(
- client_.get(), store_.get(), local_state, refresh_rate_pref,
+ client_.get(), store_, local_state, refresh_rate_pref,
MessageLoop::current()->message_loop_proxy()));
}
}

Powered by Google App Engine
This is Rietveld 408576698