| Index: chrome/browser/policy/cloud/cloud_policy_manager.cc
|
| diff --git a/chrome/browser/policy/cloud/cloud_policy_manager.cc b/chrome/browser/policy/cloud/cloud_policy_manager.cc
|
| deleted file mode 100644
|
| index e3a01a96599ddf3146582cd527f4d119b2b40ee5..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/policy/cloud/cloud_policy_manager.cc
|
| +++ /dev/null
|
| @@ -1,149 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/policy/cloud/cloud_policy_manager.h"
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/bind_helpers.h"
|
| -#include "base/command_line.h"
|
| -#include "base/files/file_path.h"
|
| -#include "base/logging.h"
|
| -#include "base/prefs/pref_service.h"
|
| -#include "chrome/browser/policy/cloud/cloud_policy_service.h"
|
| -#include "components/policy/core/common/policy_bundle.h"
|
| -#include "components/policy/core/common/policy_map.h"
|
| -#include "components/policy/core/common/policy_switches.h"
|
| -#include "net/url_request/url_request_context_getter.h"
|
| -
|
| -#if !defined(OS_ANDROID) && !defined(OS_IOS)
|
| -#include "chrome/browser/policy/cloud/resource_cache.h"
|
| -#endif
|
| -
|
| -namespace policy {
|
| -
|
| -CloudPolicyManager::CloudPolicyManager(
|
| - const PolicyNamespaceKey& policy_ns_key,
|
| - CloudPolicyStore* cloud_policy_store,
|
| - const scoped_refptr<base::SequencedTaskRunner>& task_runner,
|
| - const scoped_refptr<base::SequencedTaskRunner>& file_task_runner,
|
| - const scoped_refptr<base::SequencedTaskRunner>& io_task_runner)
|
| - : core_(policy_ns_key, cloud_policy_store, task_runner),
|
| - waiting_for_policy_refresh_(false),
|
| - file_task_runner_(file_task_runner),
|
| - io_task_runner_(io_task_runner) {
|
| - store()->AddObserver(this);
|
| -
|
| - // If the underlying store is already initialized, publish the loaded
|
| - // policy. Otherwise, request a load now.
|
| - if (store()->is_initialized())
|
| - CheckAndPublishPolicy();
|
| - else
|
| - store()->Load();
|
| -}
|
| -
|
| -CloudPolicyManager::~CloudPolicyManager() {}
|
| -
|
| -void CloudPolicyManager::Shutdown() {
|
| - component_policy_service_.reset();
|
| - core_.Disconnect();
|
| - store()->RemoveObserver(this);
|
| - ConfigurationPolicyProvider::Shutdown();
|
| -}
|
| -
|
| -bool CloudPolicyManager::IsInitializationComplete(PolicyDomain domain) const {
|
| - if (domain == POLICY_DOMAIN_CHROME)
|
| - return store()->is_initialized();
|
| - if (ComponentCloudPolicyService::SupportsDomain(domain) &&
|
| - component_policy_service_) {
|
| - return component_policy_service_->is_initialized();
|
| - }
|
| - return true;
|
| -}
|
| -
|
| -void CloudPolicyManager::RefreshPolicies() {
|
| - if (service()) {
|
| - waiting_for_policy_refresh_ = true;
|
| - service()->RefreshPolicy(
|
| - base::Bind(&CloudPolicyManager::OnRefreshComplete,
|
| - base::Unretained(this)));
|
| - } else {
|
| - OnRefreshComplete(false);
|
| - }
|
| -}
|
| -
|
| -void CloudPolicyManager::OnStoreLoaded(CloudPolicyStore* cloud_policy_store) {
|
| - DCHECK_EQ(store(), cloud_policy_store);
|
| - CheckAndPublishPolicy();
|
| -}
|
| -
|
| -void CloudPolicyManager::OnStoreError(CloudPolicyStore* cloud_policy_store) {
|
| - DCHECK_EQ(store(), cloud_policy_store);
|
| - // Publish policy (even though it hasn't changed) in order to signal load
|
| - // complete on the ConfigurationPolicyProvider interface. Technically, this
|
| - // is only required on the first load, but doesn't hurt in any case.
|
| - CheckAndPublishPolicy();
|
| -}
|
| -
|
| -void CloudPolicyManager::OnComponentCloudPolicyUpdated() {
|
| - CheckAndPublishPolicy();
|
| -}
|
| -
|
| -void CloudPolicyManager::CheckAndPublishPolicy() {
|
| - if (IsInitializationComplete(POLICY_DOMAIN_CHROME) &&
|
| - !waiting_for_policy_refresh_) {
|
| - scoped_ptr<PolicyBundle> bundle(new PolicyBundle);
|
| - bundle->Get(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()))
|
| - .CopyFrom(store()->policy_map());
|
| - if (component_policy_service_)
|
| - bundle->MergeFrom(component_policy_service_->policy());
|
| - UpdatePolicy(bundle.Pass());
|
| - }
|
| -}
|
| -
|
| -void CloudPolicyManager::CreateComponentCloudPolicyService(
|
| - const base::FilePath& policy_cache_path,
|
| - const scoped_refptr<net::URLRequestContextGetter>& request_context) {
|
| -#if !defined(OS_ANDROID) && !defined(OS_IOS)
|
| - // Init() must have been called.
|
| - DCHECK(schema_registry());
|
| - // Called at most once.
|
| - DCHECK(!component_policy_service_);
|
| -
|
| - if (!CommandLine::ForCurrentProcess()->HasSwitch(
|
| - switches::kEnableComponentCloudPolicy) ||
|
| - policy_cache_path.empty()) {
|
| - return;
|
| - }
|
| -
|
| - // TODO(joaodasilva): Move the |file_task_runner_| to the blocking pool.
|
| - // Currently it's not possible because the ComponentCloudPolicyStore is
|
| - // NonThreadSafe and doesn't support getting calls from different threads.
|
| - scoped_ptr<ResourceCache> resource_cache(
|
| - new ResourceCache(policy_cache_path, file_task_runner_));
|
| - component_policy_service_.reset(new ComponentCloudPolicyService(
|
| - this,
|
| - schema_registry(),
|
| - core(),
|
| - resource_cache.Pass(),
|
| - request_context,
|
| - file_task_runner_,
|
| - io_task_runner_));
|
| -#endif // !defined(OS_ANDROID) && !defined(OS_IOS)
|
| -}
|
| -
|
| -void CloudPolicyManager::ClearAndDestroyComponentCloudPolicyService() {
|
| -#if !defined(OS_ANDROID) && !defined(OS_IOS)
|
| - if (component_policy_service_) {
|
| - component_policy_service_->ClearCache();
|
| - component_policy_service_.reset();
|
| - }
|
| -#endif // !defined(OS_ANDROID) && !defined(OS_IOS)
|
| -}
|
| -
|
| -void CloudPolicyManager::OnRefreshComplete(bool success) {
|
| - waiting_for_policy_refresh_ = false;
|
| - CheckAndPublishPolicy();
|
| -}
|
| -
|
| -} // namespace policy
|
|
|