| Index: chrome/browser/policy/configuration_policy_pref_store.cc
|
| diff --git a/chrome/browser/policy/configuration_policy_pref_store.cc b/chrome/browser/policy/configuration_policy_pref_store.cc
|
| deleted file mode 100644
|
| index 9c5e2214b6f7e51bfea958da2a15d3c2ed2fff72..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/policy/configuration_policy_pref_store.cc
|
| +++ /dev/null
|
| @@ -1,133 +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/configuration_policy_pref_store.h"
|
| -
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/logging.h"
|
| -#include "base/message_loop/message_loop.h"
|
| -#include "base/prefs/pref_value_map.h"
|
| -#include "base/strings/string16.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "chrome/browser/policy/configuration_policy_handler_list.h"
|
| -#include "components/policy/core/browser/policy_error_map.h"
|
| -
|
| -namespace policy {
|
| -
|
| -namespace {
|
| -
|
| -// Policies are loaded early on startup, before PolicyErrorMaps are ready to
|
| -// be retrieved. This function is posted to UI to log any errors found on
|
| -// Refresh below.
|
| -void LogErrors(PolicyErrorMap* errors) {
|
| - PolicyErrorMap::const_iterator iter;
|
| - for (iter = errors->begin(); iter != errors->end(); ++iter) {
|
| - string16 policy = ASCIIToUTF16(iter->first);
|
| - DLOG(WARNING) << "Policy " << policy << ": " << iter->second;
|
| - }
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -ConfigurationPolicyPrefStore::ConfigurationPolicyPrefStore(
|
| - PolicyService* service,
|
| - const ConfigurationPolicyHandlerList* handler_list,
|
| - PolicyLevel level)
|
| - : policy_service_(service),
|
| - handler_list_(handler_list),
|
| - level_(level) {
|
| - // Read initial policy.
|
| - prefs_.reset(CreatePreferencesFromPolicies());
|
| - policy_service_->AddObserver(POLICY_DOMAIN_CHROME, this);
|
| -}
|
| -
|
| -void ConfigurationPolicyPrefStore::AddObserver(PrefStore::Observer* observer) {
|
| - observers_.AddObserver(observer);
|
| -}
|
| -
|
| -void ConfigurationPolicyPrefStore::RemoveObserver(
|
| - PrefStore::Observer* observer) {
|
| - observers_.RemoveObserver(observer);
|
| -}
|
| -
|
| -bool ConfigurationPolicyPrefStore::HasObservers() const {
|
| - return observers_.might_have_observers();
|
| -}
|
| -
|
| -bool ConfigurationPolicyPrefStore::IsInitializationComplete() const {
|
| - return policy_service_->IsInitializationComplete(POLICY_DOMAIN_CHROME);
|
| -}
|
| -
|
| -bool ConfigurationPolicyPrefStore::GetValue(const std::string& key,
|
| - const Value** value) const {
|
| - const Value* stored_value = NULL;
|
| - if (!prefs_.get() || !prefs_->GetValue(key, &stored_value))
|
| - return false;
|
| -
|
| - if (value)
|
| - *value = stored_value;
|
| - return true;
|
| -}
|
| -
|
| -void ConfigurationPolicyPrefStore::OnPolicyUpdated(
|
| - const PolicyNamespace& ns,
|
| - const PolicyMap& previous,
|
| - const PolicyMap& current) {
|
| - DCHECK_EQ(POLICY_DOMAIN_CHROME, ns.domain);
|
| - DCHECK(ns.component_id.empty());
|
| - Refresh();
|
| -}
|
| -
|
| -void ConfigurationPolicyPrefStore::OnPolicyServiceInitialized(
|
| - PolicyDomain domain) {
|
| - if (domain == POLICY_DOMAIN_CHROME) {
|
| - FOR_EACH_OBSERVER(PrefStore::Observer, observers_,
|
| - OnInitializationCompleted(true));
|
| - }
|
| -}
|
| -
|
| -ConfigurationPolicyPrefStore::~ConfigurationPolicyPrefStore() {
|
| - policy_service_->RemoveObserver(POLICY_DOMAIN_CHROME, this);
|
| -}
|
| -
|
| -void ConfigurationPolicyPrefStore::Refresh() {
|
| - scoped_ptr<PrefValueMap> new_prefs(CreatePreferencesFromPolicies());
|
| - std::vector<std::string> changed_prefs;
|
| - new_prefs->GetDifferingKeys(prefs_.get(), &changed_prefs);
|
| - prefs_.swap(new_prefs);
|
| -
|
| - // Send out change notifications.
|
| - for (std::vector<std::string>::const_iterator pref(changed_prefs.begin());
|
| - pref != changed_prefs.end();
|
| - ++pref) {
|
| - FOR_EACH_OBSERVER(PrefStore::Observer, observers_,
|
| - OnPrefValueChanged(*pref));
|
| - }
|
| -}
|
| -
|
| -PrefValueMap* ConfigurationPolicyPrefStore::CreatePreferencesFromPolicies() {
|
| - scoped_ptr<PrefValueMap> prefs(new PrefValueMap);
|
| - PolicyMap filtered_policies;
|
| - filtered_policies.CopyFrom(policy_service_->GetPolicies(
|
| - PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())));
|
| - filtered_policies.FilterLevel(level_);
|
| -
|
| - scoped_ptr<PolicyErrorMap> errors(new PolicyErrorMap);
|
| -
|
| - handler_list_->ApplyPolicySettings(filtered_policies,
|
| - prefs.get(),
|
| - errors.get());
|
| -
|
| - // Retrieve and log the errors once the UI loop is ready. This is only an
|
| - // issue during startup.
|
| - base::MessageLoop::current()->PostTask(
|
| - FROM_HERE, base::Bind(&LogErrors, base::Owned(errors.release())));
|
| -
|
| - return prefs.release();
|
| -}
|
| -
|
| -} // namespace policy
|
|
|