| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 
|  | 2 // Use of this source code is governed by a BSD-style license that can be | 
|  | 3 // found in the LICENSE file. | 
|  | 4 | 
|  | 5 #include "chrome/browser/policy/asynchronous_policy_provider.h" | 
|  | 6 | 
|  | 7 #include "chrome/browser/browser_thread.h" | 
|  | 8 #include "chrome/browser/policy/asynchronous_policy_loader.h" | 
|  | 9 | 
|  | 10 namespace policy { | 
|  | 11 | 
|  | 12 AsynchronousPolicyProvider::AsynchronousPolicyProvider( | 
|  | 13     const PolicyDefinitionList* policy_list, | 
|  | 14     scoped_refptr<AsynchronousPolicyLoader> loader) | 
|  | 15     : ConfigurationPolicyProvider(policy_list), | 
|  | 16       loader_(loader) { | 
|  | 17   // TODO(danno): This explicit registration of the provider shouldn't be | 
|  | 18   // necessary. Instead, the PrefStore should explicitly observe preference | 
|  | 19   // changes that are reported during the policy change. | 
|  | 20   loader_->SetProvider(this); | 
|  | 21   loader_->Init(); | 
|  | 22 } | 
|  | 23 | 
|  | 24 AsynchronousPolicyProvider::~AsynchronousPolicyProvider() { | 
|  | 25   loader_->Stop(); | 
|  | 26   loader_->SetProvider(NULL); | 
|  | 27 } | 
|  | 28 | 
|  | 29 bool AsynchronousPolicyProvider::Provide( | 
|  | 30     ConfigurationPolicyStoreInterface* store) { | 
|  | 31   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 
|  | 32   DCHECK(loader_->policy()); | 
|  | 33   DecodePolicyValueTree(loader_->policy(), store); | 
|  | 34   return true; | 
|  | 35 } | 
|  | 36 | 
|  | 37 scoped_refptr<AsynchronousPolicyLoader> AsynchronousPolicyProvider::loader() { | 
|  | 38   return loader_; | 
|  | 39 } | 
|  | 40 | 
|  | 41 }  // namespace policy | 
| OLD | NEW | 
|---|