Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(303)

Side by Side Diff: chrome/browser/chromeos/settings/device_settings_provider.h

Issue 1411863002: Use kMetricsReportingEnabled instead of kStatsReporingPref on metrics side (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix unittests Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_PROVIDER_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_PROVIDER_H_
6 #define CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_PROVIDER_H_ 6 #define CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_PROVIDER_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 DeviceSettingsService* device_settings_service); 45 DeviceSettingsService* device_settings_service);
46 ~DeviceSettingsProvider() override; 46 ~DeviceSettingsProvider() override;
47 47
48 // Returns true if |path| is handled by this provider. 48 // Returns true if |path| is handled by this provider.
49 static bool IsDeviceSetting(const std::string& name); 49 static bool IsDeviceSetting(const std::string& name);
50 50
51 // CrosSettingsProvider implementation. 51 // CrosSettingsProvider implementation.
52 const base::Value* Get(const std::string& path) const override; 52 const base::Value* Get(const std::string& path) const override;
53 TrustedStatus PrepareTrustedValues(const base::Closure& callback) override; 53 TrustedStatus PrepareTrustedValues(const base::Closure& callback) override;
54 bool HandlesSetting(const std::string& path) const override; 54 bool HandlesSetting(const std::string& path) const override;
55 void SetPrefForTesting(const std::string& path, bool value);
55 56
56 private: 57 private:
57 // CrosSettingsProvider implementation: 58 // CrosSettingsProvider implementation:
58 void DoSet(const std::string& path, const base::Value& value) override; 59 void DoSet(const std::string& path, const base::Value& value) override;
59 60
60 // DeviceSettingsService::Observer implementation: 61 // DeviceSettingsService::Observer implementation:
61 void OwnershipStatusChanged() override; 62 void OwnershipStatusChanged() override;
62 void DeviceSettingsUpdated() override; 63 void DeviceSettingsUpdated() override;
63 void OnDeviceSettingsServiceShutdown() override; 64 void OnDeviceSettingsServiceShutdown() override;
64 65
65 // ownership::OwnerSettingsService::Observer implementation: 66 // ownership::OwnerSettingsService::Observer implementation:
66 void OnTentativeChangesInPolicy( 67 void OnTentativeChangesInPolicy(
67 const enterprise_management::PolicyData& policy_data) override; 68 const enterprise_management::PolicyData& policy_data) override;
68 69
69 // Populates in-memory cache from the local_state cache that is used to store 70 // Populates in-memory cache from the local_state cache that is used to store
70 // device settings before the device is owned and to speed up policy 71 // device settings before the device is owned and to speed up policy
71 // availability before the policy blob is fetched on boot. 72 // availability before the policy blob is fetched on boot.
72 void RetrieveCachedData(); 73 void RetrieveCachedData();
73 74
74 // Parses the policy data and fills in |values_cache_|. 75 // Parses the policy data and fills in |values_cache_|.
75 void UpdateValuesCache( 76 void UpdateValuesCache(
76 const enterprise_management::PolicyData& policy_data, 77 const enterprise_management::PolicyData& policy_data,
77 const enterprise_management::ChromeDeviceSettingsProto& settings, 78 const enterprise_management::ChromeDeviceSettingsProto& settings,
78 TrustedStatus trusted_status); 79 TrustedStatus trusted_status);
79 80
80 // Applies the metrics policy and if not set migrates the legacy file.
81 void ApplyMetricsSetting(bool use_file, bool new_value);
82
83 // Applies the data roaming policy. 81 // Applies the data roaming policy.
84 void ApplyRoamingSetting(bool new_value); 82 void ApplyRoamingSetting(bool new_value);
85 void ApplyRoamingSettingFromProto( 83 void ApplyRoamingSettingFromProto(
86 const enterprise_management::ChromeDeviceSettingsProto& settings); 84 const enterprise_management::ChromeDeviceSettingsProto& settings);
87 85
88 // Applies any changes of the policies that are not handled by the respective
89 // subsystems.
90 void ApplySideEffects(
91 const enterprise_management::ChromeDeviceSettingsProto& settings);
92
93 // In case of missing policy blob we should verify if this is upgrade of 86 // In case of missing policy blob we should verify if this is upgrade of
94 // machine owned from pre version 12 OS and the user never touched the device 87 // machine owned from pre version 12 OS and the user never touched the device
95 // settings. In this case revert to defaults and let people in until the owner 88 // settings. In this case revert to defaults and let people in until the owner
96 // comes and changes that. 89 // comes and changes that.
97 bool MitigateMissingPolicy(); 90 bool MitigateMissingPolicy();
98 91
99 // Checks if the current cache value can be trusted for being representative 92 // Checks if the current cache value can be trusted for being representative
100 // for the disk cache. 93 // for the disk cache.
101 TrustedStatus RequestTrustedEntity(); 94 TrustedStatus RequestTrustedEntity();
102 95
103 // Invokes UpdateFromService() to synchronize with |device_settings_service_|, 96 // Invokes UpdateFromService() to synchronize with |device_settings_service_|,
104 // then triggers the next store operation if applicable. 97 // then triggers the next store operation if applicable.
105 void UpdateAndProceedStoring(); 98 void UpdateAndProceedStoring();
106 99
107 // Re-reads state from |device_settings_service_|, adjusts 100 // Re-reads state from |device_settings_service_|, adjusts
108 // |trusted_status_| and calls UpdateValuesCache() if applicable. Returns true 101 // |trusted_status_| and calls UpdateValuesCache() if applicable. Returns true
109 // if new settings have been loaded. 102 // if new settings have been loaded.
110 bool UpdateFromService(); 103 bool UpdateFromService();
111 104
112 // Checks the current ownership status to see whether the device owner is
113 // logged in and writes the data accumulated in |migration_values_| to proper
114 // device settings.
115 void AttemptMigration();
116
117 // Pending callbacks that need to be invoked after settings verification. 105 // Pending callbacks that need to be invoked after settings verification.
118 std::vector<base::Closure> callbacks_; 106 std::vector<base::Closure> callbacks_;
119 107
120 DeviceSettingsService* device_settings_service_; 108 DeviceSettingsService* device_settings_service_;
121 mutable PrefValueMap migration_values_; 109 mutable PrefValueMap migration_values_;
122 110
123 TrustedStatus trusted_status_; 111 TrustedStatus trusted_status_;
124 DeviceSettingsService::OwnershipStatus ownership_status_; 112 DeviceSettingsService::OwnershipStatus ownership_status_;
125 113
126 // The device settings as currently reported through the 114 // The device settings as currently reported through the
(...skipping 17 matching lines...) Expand all
144 InitializationTestUnowned); 132 InitializationTestUnowned);
145 FRIEND_TEST_ALL_PREFIXES(DeviceSettingsProviderTest, 133 FRIEND_TEST_ALL_PREFIXES(DeviceSettingsProviderTest,
146 PolicyFailedPermanentlyNotification); 134 PolicyFailedPermanentlyNotification);
147 FRIEND_TEST_ALL_PREFIXES(DeviceSettingsProviderTest, PolicyLoadNotification); 135 FRIEND_TEST_ALL_PREFIXES(DeviceSettingsProviderTest, PolicyLoadNotification);
148 DISALLOW_COPY_AND_ASSIGN(DeviceSettingsProvider); 136 DISALLOW_COPY_AND_ASSIGN(DeviceSettingsProvider);
149 }; 137 };
150 138
151 } // namespace chromeos 139 } // namespace chromeos
152 140
153 #endif // CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_PROVIDER_H_ 141 #endif // CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_PROVIDER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698