Chromium Code Reviews| 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_); |
|
Andrew T Wilson (Slow)
2012/11/23 15:04:20
The only way this can happen is if we fail to invo
Mattias Nissler (ping if slow)
2012/11/23 17:36:06
Done.
|
| +} |
| 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())); |
| } |
| } |