diff options
Diffstat (limited to 'chrome/browser/policy/asynchronous_policy_provider.cc')
-rw-r--r-- | chrome/browser/policy/asynchronous_policy_provider.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/chrome/browser/policy/asynchronous_policy_provider.cc b/chrome/browser/policy/asynchronous_policy_provider.cc index 87b94a6..e697b05 100644 --- a/chrome/browser/policy/asynchronous_policy_provider.cc +++ b/chrome/browser/policy/asynchronous_policy_provider.cc @@ -13,17 +13,12 @@ AsynchronousPolicyProvider::AsynchronousPolicyProvider( scoped_refptr<AsynchronousPolicyLoader> loader) : ConfigurationPolicyProvider(policy_list), loader_(loader) { - // TODO(danno): This explicit registration of the provider shouldn't be - // necessary. Instead, the PrefStore should explicitly observe preference - // changes that are reported during the policy change. - loader_->SetProvider(this); loader_->Init(); } AsynchronousPolicyProvider::~AsynchronousPolicyProvider() { DCHECK(CalledOnValidThread()); loader_->Stop(); - loader_->SetProvider(NULL); } bool AsynchronousPolicyProvider::Provide( @@ -34,6 +29,16 @@ bool AsynchronousPolicyProvider::Provide( return true; } +void AsynchronousPolicyProvider::AddObserver( + ConfigurationPolicyProvider::Observer* observer) { + loader_->AddObserver(observer); +} + +void AsynchronousPolicyProvider::RemoveObserver( + ConfigurationPolicyProvider::Observer* observer) { + loader_->RemoveObserver(observer); +} + scoped_refptr<AsynchronousPolicyLoader> AsynchronousPolicyProvider::loader() { return loader_; } |