OLD | NEW |
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_command_line_pref_store.h> | 5 #include <chrome/browser/prefs/chrome_command_line_pref_store.h> |
6 #include "chrome/browser/prefs/chrome_pref_service_factory.h" | 6 #include "chrome/browser/prefs/chrome_pref_service_factory.h" |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <string> | 10 #include <string> |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 #include "components/sync/base/model_type.h" | 53 #include "components/sync/base/model_type.h" |
54 #include "components/sync/base/pref_names.h" | 54 #include "components/sync/base/pref_names.h" |
55 #include "components/sync_preferences/pref_model_associator.h" | 55 #include "components/sync_preferences/pref_model_associator.h" |
56 #include "components/sync_preferences/pref_service_syncable.h" | 56 #include "components/sync_preferences/pref_service_syncable.h" |
57 #include "components/sync_preferences/pref_service_syncable_factory.h" | 57 #include "components/sync_preferences/pref_service_syncable_factory.h" |
58 #include "components/user_prefs/tracked/pref_names.h" | 58 #include "components/user_prefs/tracked/pref_names.h" |
59 #include "content/public/browser/browser_context.h" | 59 #include "content/public/browser/browser_context.h" |
60 #include "content/public/browser/browser_thread.h" | 60 #include "content/public/browser/browser_thread.h" |
61 #include "extensions/features/features.h" | 61 #include "extensions/features/features.h" |
62 #include "rlz/features/features.h" | 62 #include "rlz/features/features.h" |
| 63 #include "services/preferences/public/interfaces/preferences.mojom.h" |
63 #include "sql/error_delegate_util.h" | 64 #include "sql/error_delegate_util.h" |
64 #include "ui/base/resource/resource_bundle.h" | 65 #include "ui/base/resource/resource_bundle.h" |
65 | 66 |
66 #if BUILDFLAG(ENABLE_EXTENSIONS) | 67 #if BUILDFLAG(ENABLE_EXTENSIONS) |
67 #include "extensions/browser/pref_names.h" | 68 #include "extensions/browser/pref_names.h" |
68 #endif | 69 #endif |
69 | 70 |
70 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) | 71 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) |
71 #include "chrome/browser/supervised_user/supervised_user_pref_store.h" | 72 #include "chrome/browser/supervised_user/supervised_user_pref_store.h" |
72 #endif | 73 #endif |
(...skipping 17 matching lines...) Expand all Loading... |
90 bool g_disable_domain_check_for_testing = false; | 91 bool g_disable_domain_check_for_testing = false; |
91 #endif // OS_WIN | 92 #endif // OS_WIN |
92 | 93 |
93 // These preferences must be kept in sync with the TrackedPreference enum in | 94 // These preferences must be kept in sync with the TrackedPreference enum in |
94 // tools/metrics/histograms/histograms.xml. To add a new preference, append it | 95 // tools/metrics/histograms/histograms.xml. To add a new preference, append it |
95 // to the array and add a corresponding value to the histogram enum. Each | 96 // to the array and add a corresponding value to the histogram enum. Each |
96 // tracked preference must be given a unique reporting ID. | 97 // tracked preference must be given a unique reporting ID. |
97 // See CleanupDeprecatedTrackedPreferences() in pref_hash_filter.cc to remove a | 98 // See CleanupDeprecatedTrackedPreferences() in pref_hash_filter.cc to remove a |
98 // deprecated tracked preference. | 99 // deprecated tracked preference. |
99 const PrefHashFilter::TrackedPreferenceMetadata kTrackedPrefs[] = { | 100 const PrefHashFilter::TrackedPreferenceMetadata kTrackedPrefs[] = { |
100 { | 101 {0, prefs::kShowHomeButton, |
101 0, prefs::kShowHomeButton, | 102 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
102 PrefHashFilter::ENFORCE_ON_LOAD, | 103 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
103 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | 104 PrefHashFilter::ValueType::IMPERSONAL}, |
104 PrefHashFilter::VALUE_IMPERSONAL | 105 {1, prefs::kHomePageIsNewTabPage, |
105 }, | 106 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
106 { | 107 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
107 1, prefs::kHomePageIsNewTabPage, | 108 PrefHashFilter::ValueType::IMPERSONAL}, |
108 PrefHashFilter::ENFORCE_ON_LOAD, | 109 {2, prefs::kHomePage, PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
109 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | 110 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
110 PrefHashFilter::VALUE_IMPERSONAL | 111 PrefHashFilter::ValueType::IMPERSONAL}, |
111 }, | 112 {3, prefs::kRestoreOnStartup, |
112 { | 113 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
113 2, prefs::kHomePage, | 114 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
114 PrefHashFilter::ENFORCE_ON_LOAD, | 115 PrefHashFilter::ValueType::IMPERSONAL}, |
115 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | 116 {4, prefs::kURLsToRestoreOnStartup, |
116 PrefHashFilter::VALUE_IMPERSONAL | 117 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
117 }, | 118 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
118 { | 119 PrefHashFilter::ValueType::IMPERSONAL}, |
119 3, prefs::kRestoreOnStartup, | |
120 PrefHashFilter::ENFORCE_ON_LOAD, | |
121 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | |
122 PrefHashFilter::VALUE_IMPERSONAL | |
123 }, | |
124 { | |
125 4, prefs::kURLsToRestoreOnStartup, | |
126 PrefHashFilter::ENFORCE_ON_LOAD, | |
127 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | |
128 PrefHashFilter::VALUE_IMPERSONAL | |
129 }, | |
130 #if BUILDFLAG(ENABLE_EXTENSIONS) | 120 #if BUILDFLAG(ENABLE_EXTENSIONS) |
131 { | 121 {5, extensions::pref_names::kExtensions, |
132 5, extensions::pref_names::kExtensions, | 122 PrefHashFilter::EnforcementLevel::NO_ENFORCEMENT, |
133 PrefHashFilter::NO_ENFORCEMENT, | 123 PrefHashFilter::PrefTrackingStrategy::SPLIT, |
134 PrefHashFilter::TRACKING_STRATEGY_SPLIT, | 124 PrefHashFilter::ValueType::IMPERSONAL}, |
135 PrefHashFilter::VALUE_IMPERSONAL | |
136 }, | |
137 #endif | 125 #endif |
138 { | 126 {6, prefs::kGoogleServicesLastUsername, |
139 6, prefs::kGoogleServicesLastUsername, | 127 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
140 PrefHashFilter::ENFORCE_ON_LOAD, | 128 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
141 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | 129 PrefHashFilter::ValueType::PERSONAL}, |
142 PrefHashFilter::VALUE_PERSONAL | 130 {7, prefs::kSearchProviderOverrides, |
143 }, | 131 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
144 { | 132 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
145 7, prefs::kSearchProviderOverrides, | 133 PrefHashFilter::ValueType::IMPERSONAL}, |
146 PrefHashFilter::ENFORCE_ON_LOAD, | |
147 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | |
148 PrefHashFilter::VALUE_IMPERSONAL | |
149 }, | |
150 #if !defined(OS_ANDROID) | 134 #if !defined(OS_ANDROID) |
151 { | 135 {11, prefs::kPinnedTabs, PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
152 11, prefs::kPinnedTabs, | 136 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
153 PrefHashFilter::ENFORCE_ON_LOAD, | 137 PrefHashFilter::ValueType::IMPERSONAL}, |
154 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | |
155 PrefHashFilter::VALUE_IMPERSONAL | |
156 }, | |
157 #endif | 138 #endif |
158 { | 139 {14, DefaultSearchManager::kDefaultSearchProviderDataPrefName, |
159 14, DefaultSearchManager::kDefaultSearchProviderDataPrefName, | 140 PrefHashFilter::EnforcementLevel::NO_ENFORCEMENT, |
160 PrefHashFilter::NO_ENFORCEMENT, | 141 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
161 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | 142 PrefHashFilter::ValueType::IMPERSONAL}, |
162 PrefHashFilter::VALUE_IMPERSONAL | 143 {// Protecting kPreferenceResetTime does two things: |
163 }, | 144 // 1) It ensures this isn't accidently set by someone stomping the pref |
164 { | 145 // file. |
165 // Protecting kPreferenceResetTime does two things: | 146 // 2) More importantly, it declares kPreferenceResetTime as a protected |
166 // 1) It ensures this isn't accidently set by someone stomping the pref | 147 // pref which is required for it to be visible when queried via the |
167 // file. | 148 // SegregatedPrefStore. This is because it's written directly in the |
168 // 2) More importantly, it declares kPreferenceResetTime as a protected | 149 // protected JsonPrefStore by that store's PrefHashFilter if there was |
169 // pref which is required for it to be visible when queried via the | 150 // a reset in FilterOnLoad and SegregatedPrefStore will not look for it |
170 // SegregatedPrefStore. This is because it's written directly in the | 151 // in the protected JsonPrefStore unless it's declared as a protected |
171 // protected JsonPrefStore by that store's PrefHashFilter if there was | 152 // preference here. |
172 // a reset in FilterOnLoad and SegregatedPrefStore will not look for it | 153 15, user_prefs::kPreferenceResetTime, |
173 // in the protected JsonPrefStore unless it's declared as a protected | 154 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
174 // preference here. | 155 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
175 15, user_prefs::kPreferenceResetTime, | 156 PrefHashFilter::ValueType::IMPERSONAL}, |
176 PrefHashFilter::ENFORCE_ON_LOAD, | 157 // kSyncRemainingRollbackTries is deprecated and will be removed a few |
177 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | 158 // releases after M50. |
178 PrefHashFilter::VALUE_IMPERSONAL | 159 {18, prefs::kSafeBrowsingIncidentsSent, |
179 }, | 160 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
180 // kSyncRemainingRollbackTries is deprecated and will be removed a few | 161 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
181 // releases after M50. | 162 PrefHashFilter::ValueType::IMPERSONAL}, |
182 { | |
183 18, prefs::kSafeBrowsingIncidentsSent, | |
184 PrefHashFilter::ENFORCE_ON_LOAD, | |
185 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | |
186 PrefHashFilter::VALUE_IMPERSONAL | |
187 }, | |
188 #if defined(OS_WIN) | 163 #if defined(OS_WIN) |
189 { | 164 {19, prefs::kSwReporterPromptVersion, |
190 19, prefs::kSwReporterPromptVersion, | 165 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
191 PrefHashFilter::ENFORCE_ON_LOAD, | 166 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
192 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | 167 PrefHashFilter::ValueType::IMPERSONAL}, |
193 PrefHashFilter::VALUE_IMPERSONAL | |
194 }, | |
195 #endif | 168 #endif |
196 // This pref is deprecated and will be removed a few releases after M43. | 169 // This pref is deprecated and will be removed a few releases after M43. |
197 // kGoogleServicesAccountId replaces it. | 170 // kGoogleServicesAccountId replaces it. |
198 { | 171 {21, prefs::kGoogleServicesUsername, |
199 21, prefs::kGoogleServicesUsername, | 172 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
200 PrefHashFilter::ENFORCE_ON_LOAD, | 173 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
201 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | 174 PrefHashFilter::ValueType::PERSONAL}, |
202 PrefHashFilter::VALUE_PERSONAL | |
203 }, | |
204 #if defined(OS_WIN) | 175 #if defined(OS_WIN) |
205 { | 176 {22, prefs::kSwReporterPromptSeed, |
206 22, prefs::kSwReporterPromptSeed, | 177 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
207 PrefHashFilter::ENFORCE_ON_LOAD, | 178 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
208 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | 179 PrefHashFilter::ValueType::IMPERSONAL}, |
209 PrefHashFilter::VALUE_IMPERSONAL | |
210 }, | |
211 #endif | 180 #endif |
212 { | 181 {23, prefs::kGoogleServicesAccountId, |
213 23, prefs::kGoogleServicesAccountId, | 182 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
214 PrefHashFilter::ENFORCE_ON_LOAD, | 183 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
215 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | 184 PrefHashFilter::ValueType::PERSONAL}, |
216 PrefHashFilter::VALUE_PERSONAL | 185 {24, prefs::kGoogleServicesLastAccountId, |
217 }, | 186 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
218 { | 187 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
219 24, prefs::kGoogleServicesLastAccountId, | 188 PrefHashFilter::ValueType::PERSONAL}, |
220 PrefHashFilter::ENFORCE_ON_LOAD, | |
221 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | |
222 PrefHashFilter::VALUE_PERSONAL | |
223 }, | |
224 #if defined(OS_WIN) | 189 #if defined(OS_WIN) |
225 { | 190 {25, prefs::kSettingsResetPromptPromptWave, |
226 25, prefs::kSettingsResetPromptPromptWave, | 191 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
227 PrefHashFilter::ENFORCE_ON_LOAD, | 192 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
228 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | 193 PrefHashFilter::ValueType::IMPERSONAL}, |
229 PrefHashFilter::VALUE_IMPERSONAL | 194 {26, prefs::kSettingsResetPromptLastTriggeredForDefaultSearch, |
230 }, | 195 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
231 { | 196 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
232 26, prefs::kSettingsResetPromptLastTriggeredForDefaultSearch, | 197 PrefHashFilter::ValueType::IMPERSONAL}, |
233 PrefHashFilter::ENFORCE_ON_LOAD, | 198 {27, prefs::kSettingsResetPromptLastTriggeredForStartupUrls, |
234 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | 199 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
235 PrefHashFilter::VALUE_IMPERSONAL | 200 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
236 }, | 201 PrefHashFilter::ValueType::IMPERSONAL}, |
237 { | 202 {28, prefs::kSettingsResetPromptLastTriggeredForHomepage, |
238 27, prefs::kSettingsResetPromptLastTriggeredForStartupUrls, | 203 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD, |
239 PrefHashFilter::ENFORCE_ON_LOAD, | 204 PrefHashFilter::PrefTrackingStrategy::ATOMIC, |
240 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | 205 PrefHashFilter::ValueType::IMPERSONAL}, |
241 PrefHashFilter::VALUE_IMPERSONAL | |
242 }, | |
243 { | |
244 28, prefs::kSettingsResetPromptLastTriggeredForHomepage, | |
245 PrefHashFilter::ENFORCE_ON_LOAD, | |
246 PrefHashFilter::TRACKING_STRATEGY_ATOMIC, | |
247 PrefHashFilter::VALUE_IMPERSONAL | |
248 }, | |
249 #endif // defined(OS_WIN) | 206 #endif // defined(OS_WIN) |
250 // See note at top, new items added here also need to be added to | 207 |
251 // histograms.xml's TrackedPreference enum. | 208 // See note at top, new items added here also need to be added to |
| 209 // histograms.xml's TrackedPreference enum. |
252 }; | 210 }; |
253 | 211 |
254 // One more than the last tracked preferences ID above. | 212 // One more than the last tracked preferences ID above. |
255 const size_t kTrackedPrefsReportingIDsCount = | 213 const size_t kTrackedPrefsReportingIDsCount = |
256 kTrackedPrefs[arraysize(kTrackedPrefs) - 1].reporting_id + 1; | 214 kTrackedPrefs[arraysize(kTrackedPrefs) - 1].reporting_id + 1; |
257 | 215 |
258 // Each group enforces a superset of the protection provided by the previous | 216 // Each group enforces a superset of the protection provided by the previous |
259 // one. | 217 // one. |
260 enum SettingsEnforcementGroup { | 218 enum SettingsEnforcementGroup { |
261 GROUP_NO_ENFORCEMENT, | 219 GROUP_NO_ENFORCEMENT, |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 GetTrackingConfiguration() { | 293 GetTrackingConfiguration() { |
336 const SettingsEnforcementGroup enforcement_group = | 294 const SettingsEnforcementGroup enforcement_group = |
337 GetSettingsEnforcementGroup(); | 295 GetSettingsEnforcementGroup(); |
338 | 296 |
339 std::vector<PrefHashFilter::TrackedPreferenceMetadata> result; | 297 std::vector<PrefHashFilter::TrackedPreferenceMetadata> result; |
340 for (size_t i = 0; i < arraysize(kTrackedPrefs); ++i) { | 298 for (size_t i = 0; i < arraysize(kTrackedPrefs); ++i) { |
341 PrefHashFilter::TrackedPreferenceMetadata data = kTrackedPrefs[i]; | 299 PrefHashFilter::TrackedPreferenceMetadata data = kTrackedPrefs[i]; |
342 | 300 |
343 if (GROUP_NO_ENFORCEMENT == enforcement_group) { | 301 if (GROUP_NO_ENFORCEMENT == enforcement_group) { |
344 // Remove enforcement for all tracked preferences. | 302 // Remove enforcement for all tracked preferences. |
345 data.enforcement_level = PrefHashFilter::NO_ENFORCEMENT; | 303 data.enforcement_level = PrefHashFilter::EnforcementLevel::NO_ENFORCEMENT; |
346 } | 304 } |
347 | 305 |
348 if (enforcement_group >= GROUP_ENFORCE_ALWAYS_WITH_DSE && | 306 if (enforcement_group >= GROUP_ENFORCE_ALWAYS_WITH_DSE && |
349 data.name == DefaultSearchManager::kDefaultSearchProviderDataPrefName) { | 307 data.name == DefaultSearchManager::kDefaultSearchProviderDataPrefName) { |
350 // Specifically enable default search settings enforcement. | 308 // Specifically enable default search settings enforcement. |
351 data.enforcement_level = PrefHashFilter::ENFORCE_ON_LOAD; | 309 data.enforcement_level = |
| 310 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD; |
352 } | 311 } |
353 | 312 |
354 #if BUILDFLAG(ENABLE_EXTENSIONS) | 313 #if BUILDFLAG(ENABLE_EXTENSIONS) |
355 if (enforcement_group >= GROUP_ENFORCE_ALWAYS_WITH_EXTENSIONS_AND_DSE && | 314 if (enforcement_group >= GROUP_ENFORCE_ALWAYS_WITH_EXTENSIONS_AND_DSE && |
356 data.name == extensions::pref_names::kExtensions) { | 315 data.name == extensions::pref_names::kExtensions) { |
357 // Specifically enable extension settings enforcement. | 316 // Specifically enable extension settings enforcement. |
358 data.enforcement_level = PrefHashFilter::ENFORCE_ON_LOAD; | 317 data.enforcement_level = |
| 318 PrefHashFilter::EnforcementLevel::ENFORCE_ON_LOAD; |
359 } | 319 } |
360 #endif | 320 #endif |
361 | 321 |
362 result.push_back(data); | 322 result.push_back(data); |
363 } | 323 } |
364 return result; | 324 return result; |
365 } | 325 } |
366 | 326 |
367 // Shows notifications which correspond to PersistentPrefStore's reading errors. | 327 // Shows notifications which correspond to PersistentPrefStore's reading errors. |
368 void HandleReadError(const base::FilePath& pref_filename, | 328 void HandleReadError(const base::FilePath& pref_filename, |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
512 // done since sync may bring back the user's server value post-reset which | 472 // done since sync may bring back the user's server value post-reset which |
513 // could potentially cause a "settings flash" between the factory default and | 473 // could potentially cause a "settings flash" between the factory default and |
514 // the re-instantiated server value. Starting sync ASAP minimizes the window | 474 // the re-instantiated server value. Starting sync ASAP minimizes the window |
515 // before the server value is re-instantiated (this window can otherwise be | 475 // before the server value is re-instantiated (this window can otherwise be |
516 // as long as 10 seconds by default). | 476 // as long as 10 seconds by default). |
517 const base::Closure start_sync_flare_for_prefs = | 477 const base::Closure start_sync_flare_for_prefs = |
518 base::Bind(sync_start_util::GetFlareForSyncableService(profile_path), | 478 base::Bind(sync_start_util::GetFlareForSyncableService(profile_path), |
519 syncer::PREFERENCES); | 479 syncer::PREFERENCES); |
520 | 480 |
521 sync_preferences::PrefServiceSyncableFactory factory; | 481 sync_preferences::PrefServiceSyncableFactory factory; |
| 482 prefs::mojom::PersistentPrefStoreConnectorPtr connector; |
522 scoped_refptr<PersistentPrefStore> user_pref_store( | 483 scoped_refptr<PersistentPrefStore> user_pref_store( |
523 CreateProfilePrefStoreManager(profile_path) | 484 CreateProfilePrefStoreManager(profile_path) |
524 ->CreateProfilePrefStore( | 485 ->CreateProfilePrefStore( |
525 content::BrowserThread::GetTaskRunnerForThread( | 486 content::BrowserThread::GetTaskRunnerForThread( |
526 content::BrowserThread::IO), | 487 content::BrowserThread::IO), |
527 pref_io_task_runner, start_sync_flare_for_prefs, | 488 pref_io_task_runner, start_sync_flare_for_prefs, |
528 validation_delegate)); | 489 validation_delegate, &connector)); |
529 PrepareFactory(&factory, profile_path, policy_service, | 490 PrepareFactory(&factory, profile_path, policy_service, |
530 supervised_user_settings, user_pref_store, extension_prefs, | 491 supervised_user_settings, user_pref_store, extension_prefs, |
531 async); | 492 async); |
532 std::unique_ptr<sync_preferences::PrefServiceSyncable> pref_service = | 493 std::unique_ptr<sync_preferences::PrefServiceSyncable> pref_service = |
533 factory.CreateSyncable(pref_registry.get()); | 494 factory.CreateSyncable(pref_registry.get(), std::move(connector)); |
534 | 495 |
535 return pref_service; | 496 return pref_service; |
536 } | 497 } |
537 | 498 |
538 void DisableDomainCheckForTesting() { | 499 void DisableDomainCheckForTesting() { |
539 #if defined(OS_WIN) | 500 #if defined(OS_WIN) |
540 g_disable_domain_check_for_testing = true; | 501 g_disable_domain_check_for_testing = true; |
541 #endif // OS_WIN | 502 #endif // OS_WIN |
542 } | 503 } |
543 | 504 |
(...skipping 10 matching lines...) Expand all Loading... |
554 | 515 |
555 void ClearResetTime(Profile* profile) { | 516 void ClearResetTime(Profile* profile) { |
556 ProfilePrefStoreManager::ClearResetTime(profile->GetPrefs()); | 517 ProfilePrefStoreManager::ClearResetTime(profile->GetPrefs()); |
557 } | 518 } |
558 | 519 |
559 void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { | 520 void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { |
560 ProfilePrefStoreManager::RegisterProfilePrefs(registry); | 521 ProfilePrefStoreManager::RegisterProfilePrefs(registry); |
561 } | 522 } |
562 | 523 |
563 } // namespace chrome_prefs | 524 } // namespace chrome_prefs |
OLD | NEW |