1 // Copyright 2013 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/chromeos/policy/device_local_account_external_data_manager.h" 6 7 #include "base/memory/scoped_ptr.h" 8 #include "base/sequenced_task_runner.h" 9 #include "chrome/browser/chromeos/policy/cloud_external_data_store.h" 10 #include "chrome/browser/chromeos/policy/device_local_account_external_data_service.h" 11 #include "components/policy/core/common/cloud/resource_cache.h" 12 #include "policy/policy_constants.h" 13 14 namespace policy { 15 16 DeviceLocalAccountExternalDataManager::DeviceLocalAccountExternalDataManager( 17 const std::string& account_id, 18 const GetChromePolicyDetailsCallback& get_policy_details, 19 scoped_refptr<base::SequencedTaskRunner> backend_task_runner, 20 scoped_refptr<base::SequencedTaskRunner> io_task_runner, 21 ResourceCache* resource_cache) 22 : CloudExternalDataManagerBase(get_policy_details, 23 backend_task_runner, 24 io_task_runner) { 25 SetExternalDataStore(make_scoped_ptr(new CloudExternalDataStore( 26 account_id, backend_task_runner, resource_cache))); 27 } 28 29 DeviceLocalAccountExternalDataManager:: 30 ~DeviceLocalAccountExternalDataManager() { 31 SetExternalDataStore(scoped_ptr<CloudExternalDataStore>()); 32 } 33 34 void DeviceLocalAccountExternalDataManager::OnPolicyStoreLoaded() { 35 CloudExternalDataManagerBase::OnPolicyStoreLoaded(); 36 // Proactively try to download and cache all external data referenced by 37 // policies. 38 FetchAll(); 39 } 40 41 } // namespace policy 42