Index: chrome/browser/chromeos/device_settings_provider.h |
diff --git a/chrome/browser/chromeos/device_settings_provider.h b/chrome/browser/chromeos/device_settings_provider.h |
deleted file mode 100644 |
index f705511cd7c00f0d85b159b7d9ac94630aa870c3..0000000000000000000000000000000000000000 |
--- a/chrome/browser/chromeos/device_settings_provider.h |
+++ /dev/null |
@@ -1,173 +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. |
- |
-#ifndef CHROME_BROWSER_CHROMEOS_DEVICE_SETTINGS_PROVIDER_H_ |
-#define CHROME_BROWSER_CHROMEOS_DEVICE_SETTINGS_PROVIDER_H_ |
- |
-#include <string> |
-#include <utility> |
-#include <vector> |
- |
-#include "base/basictypes.h" |
-#include "base/callback_forward.h" |
-#include "chrome/browser/chromeos/cros_settings_provider.h" |
-#include "chrome/browser/chromeos/login/ownership_service.h" |
-#include "chrome/browser/chromeos/signed_settings_migration_helper.h" |
-#include "chrome/browser/policy/proto/device_management_backend.pb.h" |
-#include "chrome/browser/prefs/pref_value_map.h" |
-#include "content/public/browser/notification_registrar.h" |
- |
-namespace base { |
-class Value; |
-} |
- |
-namespace enterprise_management { |
-class ChromeDeviceSettingsProto; |
-} // namespace enterprise_management |
- |
-namespace chromeos { |
- |
-// CrosSettingsProvider implementation that works with SignedSettings. |
-class DeviceSettingsProvider : public CrosSettingsProvider, |
- public content::NotificationObserver { |
- public: |
- DeviceSettingsProvider(const NotifyObserversCallback& notify_cb, |
- SignedSettingsHelper* signed_settings_helper); |
- virtual ~DeviceSettingsProvider(); |
- |
- // CrosSettingsProvider implementation. |
- virtual const base::Value* Get(const std::string& path) const OVERRIDE; |
- virtual TrustedStatus PrepareTrustedValues( |
- const base::Closure& callback) OVERRIDE; |
- virtual bool HandlesSetting(const std::string& path) const OVERRIDE; |
- virtual void Reload() OVERRIDE; |
- |
- private: |
- // CrosSettingsProvider implementation: |
- virtual void DoSet(const std::string& path, |
- const base::Value& value) OVERRIDE; |
- |
- // content::NotificationObserver implementation: |
- virtual void Observe(int type, |
- const content::NotificationSource& source, |
- const content::NotificationDetails& details) OVERRIDE; |
- |
- const enterprise_management::PolicyData policy() const; |
- |
- // Populates in-memory cache from the local_state cache that is used to store |
- // signed settings before the device is owned and to speed up policy |
- // availability before the policy blob is fetched on boot. |
- void RetrieveCachedData(); |
- |
- // Stores a value from the |pending_changes_| queue in the signed settings. |
- // If the device is not owned yet the data ends up only in the local_state |
- // cache and is serialized once ownership is acquired. |
- void SetInPolicy(); |
- |
- // Finalizes stores to the policy file if the cache is dirty. |
- void FinishSetInPolicy( |
- SignedSettings::ReturnCode code, |
- const enterprise_management::PolicyFetchResponse& policy); |
- |
- // Decode the various groups of policies. |
- void DecodeLoginPolicies( |
- const enterprise_management::ChromeDeviceSettingsProto& policy, |
- PrefValueMap* new_values_cache) const; |
- void DecodeKioskPolicies( |
- const enterprise_management::ChromeDeviceSettingsProto& policy, |
- PrefValueMap* new_values_cache) const; |
- void DecodeNetworkPolicies( |
- const enterprise_management::ChromeDeviceSettingsProto& policy, |
- PrefValueMap* new_values_cache) const; |
- void DecodeReportingPolicies( |
- const enterprise_management::ChromeDeviceSettingsProto& policy, |
- PrefValueMap* new_values_cache) const; |
- void DecodeGenericPolicies( |
- const enterprise_management::ChromeDeviceSettingsProto& policy, |
- PrefValueMap* new_values_cache) const; |
- |
- // Parses the policy cache and fills the cache of base::Value objects. |
- void UpdateValuesCache(); |
- |
- // Applies the metrics policy and if not set migrates the legacy file. |
- void ApplyMetricsSetting(bool use_file, bool new_value) const; |
- |
- // Applies the data roaming policy. |
- void ApplyRoamingSetting(bool new_value) const; |
- |
- // Applies any changes of the policies that are not handled by the respective |
- // subsystems. |
- void ApplySideEffects() const; |
- |
- // In case of missing policy blob we should verify if this is upgrade of |
- // machine owned from pre version 12 OS and the user never touched the device |
- // settings. In this case revert to defaults and let people in until the owner |
- // comes and changes that. |
- bool MitigateMissingPolicy(); |
- |
- // Called right before boolean property is changed. |
- void OnBooleanPropertyChange(const std::string& path, bool new_value); |
- |
- // Checks if the current cache value can be trusted for being representative |
- // for the disk cache. |
- TrustedStatus RequestTrustedEntity(); |
- |
- // Called right after signed value was checked. |
- void OnPropertyRetrieve(const std::string& path, |
- const base::Value* value, |
- bool use_default_value); |
- |
- // Callback of StorePolicyOp for ordinary policy stores. |
- void OnStorePolicyCompleted(SignedSettings::ReturnCode code); |
- |
- // Callback of RetrievePolicyOp for ordinary policy [re]loads. |
- void OnRetrievePolicyCompleted( |
- SignedSettings::ReturnCode code, |
- const enterprise_management::PolicyFetchResponse& policy); |
- |
- // These setters are for test use only. |
- void set_ownership_status(OwnershipService::Status status) { |
- ownership_status_ = status; |
- } |
- void set_trusted_status(TrustedStatus status) { |
- trusted_status_ = status; |
- } |
- void set_retries_left(int retries) { |
- retries_left_ = retries; |
- } |
- |
- // Pending callbacks that need to be invoked after settings verification. |
- std::vector<base::Closure> callbacks_; |
- |
- SignedSettingsHelper* signed_settings_helper_; |
- OwnershipService::Status ownership_status_; |
- mutable scoped_ptr<SignedSettingsMigrationHelper> migration_helper_; |
- |
- content::NotificationRegistrar registrar_; |
- |
- // In order to guard against occasional failure to fetch a property |
- // we allow for some number of retries. |
- int retries_left_; |
- |
- enterprise_management::PolicyData policy_; |
- TrustedStatus trusted_status_; |
- |
- PrefValueMap values_cache_; |
- |
- // This is a queue for set requests, because those need to be sequential. |
- typedef std::pair<std::string, base::Value*> PendingQueueElement; |
- std::vector<PendingQueueElement> pending_changes_; |
- |
- friend class DeviceSettingsProviderTest; |
- FRIEND_TEST_ALL_PREFIXES(DeviceSettingsProviderTest, |
- InitializationTestUnowned); |
- FRIEND_TEST_ALL_PREFIXES(DeviceSettingsProviderTest, |
- PolicyFailedPermanentlyNotification); |
- FRIEND_TEST_ALL_PREFIXES(DeviceSettingsProviderTest, PolicyLoadNotification); |
- DISALLOW_COPY_AND_ASSIGN(DeviceSettingsProvider); |
-}; |
- |
-} // namespace chromeos |
- |
-#endif // CHROME_BROWSER_CHROMEOS_DEVICE_SETTINGS_PROVIDER_H_ |