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

Side by Side Diff: chrome/browser/prefs/chrome_pref_service_factory.cc

Issue 856393005: Re-prompt Chrome users to run the SRT when a finch param changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merged ToT Created 5 years, 11 months 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 #include "chrome/browser/prefs/chrome_pref_service_factory.h" 5 #include "chrome/browser/prefs/chrome_pref_service_factory.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 74
75 namespace { 75 namespace {
76 76
77 // These preferences must be kept in sync with the TrackedPreference enum in 77 // These preferences must be kept in sync with the TrackedPreference enum in
78 // tools/metrics/histograms/histograms.xml. To add a new preference, append it 78 // tools/metrics/histograms/histograms.xml. To add a new preference, append it
79 // to the array and add a corresponding value to the histogram enum. Each 79 // to the array and add a corresponding value to the histogram enum. Each
80 // tracked preference must be given a unique reporting ID. 80 // tracked preference must be given a unique reporting ID.
81 // See CleanupDeprecatedTrackedPreferences() in pref_hash_filter.cc to remove a 81 // See CleanupDeprecatedTrackedPreferences() in pref_hash_filter.cc to remove a
82 // deprecated tracked preference. 82 // deprecated tracked preference.
83 const PrefHashFilter::TrackedPreferenceMetadata kTrackedPrefs[] = { 83 const PrefHashFilter::TrackedPreferenceMetadata kTrackedPrefs[] = {
84 { 84 {0,
gab 2015/01/26 13:29:12 I know this is the probably the new format of git
MAD 2015/01/27 19:34:18 OK, I disagree, and expressed my disagreement, but
85 0, prefs::kShowHomeButton, 85 prefs::kShowHomeButton,
86 PrefHashFilter::ENFORCE_ON_LOAD, 86 PrefHashFilter::ENFORCE_ON_LOAD,
87 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, 87 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
88 PrefHashFilter::VALUE_IMPERSONAL 88 PrefHashFilter::VALUE_IMPERSONAL},
89 }, 89 {1,
90 { 90 prefs::kHomePageIsNewTabPage,
91 1, prefs::kHomePageIsNewTabPage, 91 PrefHashFilter::ENFORCE_ON_LOAD,
92 PrefHashFilter::ENFORCE_ON_LOAD, 92 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
93 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, 93 PrefHashFilter::VALUE_IMPERSONAL},
94 PrefHashFilter::VALUE_IMPERSONAL 94 {2,
95 }, 95 prefs::kHomePage,
96 { 96 PrefHashFilter::ENFORCE_ON_LOAD,
97 2, prefs::kHomePage, 97 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
98 PrefHashFilter::ENFORCE_ON_LOAD, 98 PrefHashFilter::VALUE_IMPERSONAL},
99 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, 99 {3,
100 PrefHashFilter::VALUE_IMPERSONAL 100 prefs::kRestoreOnStartup,
101 }, 101 PrefHashFilter::ENFORCE_ON_LOAD,
102 { 102 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
103 3, prefs::kRestoreOnStartup, 103 PrefHashFilter::VALUE_IMPERSONAL},
104 PrefHashFilter::ENFORCE_ON_LOAD, 104 {4,
105 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, 105 prefs::kURLsToRestoreOnStartup,
106 PrefHashFilter::VALUE_IMPERSONAL 106 PrefHashFilter::ENFORCE_ON_LOAD,
107 }, 107 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
108 { 108 PrefHashFilter::VALUE_IMPERSONAL},
109 4, prefs::kURLsToRestoreOnStartup,
110 PrefHashFilter::ENFORCE_ON_LOAD,
111 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
112 PrefHashFilter::VALUE_IMPERSONAL
113 },
114 #if defined(ENABLE_EXTENSIONS) 109 #if defined(ENABLE_EXTENSIONS)
115 { 110 {5,
116 5, extensions::pref_names::kExtensions, 111 extensions::pref_names::kExtensions,
117 PrefHashFilter::NO_ENFORCEMENT, 112 PrefHashFilter::NO_ENFORCEMENT,
118 PrefHashFilter::TRACKING_STRATEGY_SPLIT, 113 PrefHashFilter::TRACKING_STRATEGY_SPLIT,
119 PrefHashFilter::VALUE_IMPERSONAL 114 PrefHashFilter::VALUE_IMPERSONAL},
120 },
121 #endif 115 #endif
122 { 116 {6,
123 6, prefs::kGoogleServicesLastUsername, 117 prefs::kGoogleServicesLastUsername,
124 PrefHashFilter::ENFORCE_ON_LOAD, 118 PrefHashFilter::ENFORCE_ON_LOAD,
125 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, 119 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
126 PrefHashFilter::VALUE_PERSONAL 120 PrefHashFilter::VALUE_PERSONAL},
127 }, 121 {7,
128 { 122 prefs::kSearchProviderOverrides,
129 7, prefs::kSearchProviderOverrides, 123 PrefHashFilter::ENFORCE_ON_LOAD,
130 PrefHashFilter::ENFORCE_ON_LOAD, 124 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
131 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, 125 PrefHashFilter::VALUE_IMPERSONAL},
132 PrefHashFilter::VALUE_IMPERSONAL 126 {8,
133 }, 127 prefs::kDefaultSearchProviderSearchURL,
134 { 128 PrefHashFilter::ENFORCE_ON_LOAD,
135 8, prefs::kDefaultSearchProviderSearchURL, 129 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
136 PrefHashFilter::ENFORCE_ON_LOAD, 130 PrefHashFilter::VALUE_IMPERSONAL},
137 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, 131 {9,
138 PrefHashFilter::VALUE_IMPERSONAL 132 prefs::kDefaultSearchProviderKeyword,
139 }, 133 PrefHashFilter::ENFORCE_ON_LOAD,
140 { 134 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
141 9, prefs::kDefaultSearchProviderKeyword, 135 PrefHashFilter::VALUE_IMPERSONAL},
142 PrefHashFilter::ENFORCE_ON_LOAD, 136 {10,
143 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, 137 prefs::kDefaultSearchProviderName,
144 PrefHashFilter::VALUE_IMPERSONAL 138 PrefHashFilter::ENFORCE_ON_LOAD,
145 }, 139 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
146 { 140 PrefHashFilter::VALUE_IMPERSONAL},
147 10, prefs::kDefaultSearchProviderName,
148 PrefHashFilter::ENFORCE_ON_LOAD,
149 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
150 PrefHashFilter::VALUE_IMPERSONAL
151 },
152 #if !defined(OS_ANDROID) 141 #if !defined(OS_ANDROID)
153 { 142 {11,
154 11, prefs::kPinnedTabs, 143 prefs::kPinnedTabs,
155 PrefHashFilter::ENFORCE_ON_LOAD, 144 PrefHashFilter::ENFORCE_ON_LOAD,
156 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, 145 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
157 PrefHashFilter::VALUE_IMPERSONAL 146 PrefHashFilter::VALUE_IMPERSONAL},
158 }, 147 {13,
159 { 148 prefs::kProfileResetPromptMementoInProfilePrefs,
160 13, prefs::kProfileResetPromptMementoInProfilePrefs, 149 PrefHashFilter::ENFORCE_ON_LOAD,
161 PrefHashFilter::ENFORCE_ON_LOAD, 150 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
162 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, 151 PrefHashFilter::VALUE_IMPERSONAL},
163 PrefHashFilter::VALUE_IMPERSONAL
164 },
165 #endif 152 #endif
166 { 153 {14,
167 14, DefaultSearchManager::kDefaultSearchProviderDataPrefName, 154 DefaultSearchManager::kDefaultSearchProviderDataPrefName,
168 PrefHashFilter::NO_ENFORCEMENT, 155 PrefHashFilter::NO_ENFORCEMENT,
169 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, 156 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
170 PrefHashFilter::VALUE_IMPERSONAL 157 PrefHashFilter::VALUE_IMPERSONAL},
171 }, 158 {// Protecting kPreferenceResetTime does two things:
172 { 159 // 1) It ensures this isn't accidently set by someone stomping the pref
173 // Protecting kPreferenceResetTime does two things: 160 // file.
174 // 1) It ensures this isn't accidently set by someone stomping the pref 161 // 2) More importantly, it declares kPreferenceResetTime as a protected
175 // file. 162 // pref which is required for it to be visible when queried via the
176 // 2) More importantly, it declares kPreferenceResetTime as a protected 163 // SegregatedPrefStore. This is because it's written directly in the
177 // pref which is required for it to be visible when queried via the 164 // protected JsonPrefStore by that store's PrefHashFilter if there was
178 // SegregatedPrefStore. This is because it's written directly in the 165 // a reset in FilterOnLoad and SegregatedPrefStore will not look for it
179 // protected JsonPrefStore by that store's PrefHashFilter if there was 166 // in the protected JsonPrefStore unless it's declared as a protected
180 // a reset in FilterOnLoad and SegregatedPrefStore will not look for it 167 // preference here.
181 // in the protected JsonPrefStore unless it's declared as a protected 168 15,
182 // preference here. 169 prefs::kPreferenceResetTime,
183 15, prefs::kPreferenceResetTime, 170 PrefHashFilter::ENFORCE_ON_LOAD,
184 PrefHashFilter::ENFORCE_ON_LOAD, 171 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
185 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, 172 PrefHashFilter::VALUE_IMPERSONAL},
186 PrefHashFilter::VALUE_IMPERSONAL 173 {17,
187 }, 174 sync_driver::prefs::kSyncRemainingRollbackTries,
188 { 175 PrefHashFilter::ENFORCE_ON_LOAD,
189 17, sync_driver::prefs::kSyncRemainingRollbackTries, 176 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
190 PrefHashFilter::ENFORCE_ON_LOAD, 177 PrefHashFilter::VALUE_IMPERSONAL},
191 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, 178 {18,
192 PrefHashFilter::VALUE_IMPERSONAL 179 prefs::kSafeBrowsingIncidentsSent,
193 }, 180 PrefHashFilter::ENFORCE_ON_LOAD,
194 { 181 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
195 18, prefs::kSafeBrowsingIncidentsSent, 182 PrefHashFilter::VALUE_IMPERSONAL},
196 PrefHashFilter::ENFORCE_ON_LOAD,
197 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
198 PrefHashFilter::VALUE_IMPERSONAL
199 },
200 #if defined(OS_WIN) 183 #if defined(OS_WIN)
201 { 184 {19,
202 19, prefs::kSwReporterPromptVersion, 185 prefs::kSwReporterPromptVersion,
203 PrefHashFilter::ENFORCE_ON_LOAD, 186 PrefHashFilter::ENFORCE_ON_LOAD,
204 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, 187 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
205 PrefHashFilter::VALUE_IMPERSONAL 188 PrefHashFilter::VALUE_IMPERSONAL},
206 }, 189 {20,
207 { 190 prefs::kSwReporterPromptReason,
208 20, prefs::kSwReporterPromptReason, 191 PrefHashFilter::ENFORCE_ON_LOAD,
209 PrefHashFilter::ENFORCE_ON_LOAD, 192 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
210 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, 193 PrefHashFilter::VALUE_IMPERSONAL},
211 PrefHashFilter::VALUE_IMPERSONAL
212 },
213 #endif 194 #endif
214 { 195 {21,
215 21, prefs::kGoogleServicesUsername, 196 prefs::kGoogleServicesUsername,
216 PrefHashFilter::ENFORCE_ON_LOAD, 197 PrefHashFilter::ENFORCE_ON_LOAD,
217 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, 198 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
218 PrefHashFilter::VALUE_PERSONAL 199 PrefHashFilter::VALUE_PERSONAL},
219 }, 200 #if defined(OS_WIN)
220 // See note at top, new items added here also need to be added to 201 {22,
221 // histograms.xml's TrackedPreference enum. 202 prefs::kSwReporterPromptSeed,
203 PrefHashFilter::ENFORCE_ON_LOAD,
204 PrefHashFilter::TRACKING_STRATEGY_ATOMIC,
205 PrefHashFilter::VALUE_IMPERSONAL},
206 #endif
207 // See note at top, new items added here also need to be added to
208 // histograms.xml's TrackedPreference enum.
222 }; 209 };
223 210
224 // One more than the last tracked preferences ID above. 211 // One more than the last tracked preferences ID above.
225 const size_t kTrackedPrefsReportingIDsCount = 212 const size_t kTrackedPrefsReportingIDsCount =
226 kTrackedPrefs[arraysize(kTrackedPrefs) - 1].reporting_id + 1; 213 kTrackedPrefs[arraysize(kTrackedPrefs) - 1].reporting_id + 1;
227 214
228 // Each group enforces a superset of the protection provided by the previous 215 // Each group enforces a superset of the protection provided by the previous
229 // one. 216 // one.
230 enum SettingsEnforcementGroup { 217 enum SettingsEnforcementGroup {
231 GROUP_NO_ENFORCEMENT, 218 GROUP_NO_ENFORCEMENT,
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
530 517
531 void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { 518 void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
532 ProfilePrefStoreManager::RegisterProfilePrefs(registry); 519 ProfilePrefStoreManager::RegisterProfilePrefs(registry);
533 } 520 }
534 521
535 void RegisterPrefs(PrefRegistrySimple* registry) { 522 void RegisterPrefs(PrefRegistrySimple* registry) {
536 ProfilePrefStoreManager::RegisterPrefs(registry); 523 ProfilePrefStoreManager::RegisterPrefs(registry);
537 } 524 }
538 525
539 } // namespace chrome_prefs 526 } // namespace chrome_prefs
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698