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

Side by Side Diff: components/sync/driver/sync_prefs.cc

Issue 2376123003: [Sync] Move //components/sync to the syncer namespace. (Closed)
Patch Set: Fix tools and iOS. Created 4 years, 2 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 "components/sync/driver/sync_prefs.h" 5 #include "components/sync/driver/sync_prefs.h"
6 6
7 #include "base/base64.h" 7 #include "base/base64.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "base/values.h" 10 #include "base/values.h"
11 #include "build/build_config.h" 11 #include "build/build_config.h"
12 #include "components/pref_registry/pref_registry_syncable.h" 12 #include "components/pref_registry/pref_registry_syncable.h"
13 #include "components/prefs/pref_member.h" 13 #include "components/prefs/pref_member.h"
14 #include "components/prefs/pref_service.h" 14 #include "components/prefs/pref_service.h"
15 #include "components/sync/driver/pref_names.h" 15 #include "components/sync/driver/pref_names.h"
16 16
17 namespace sync_driver { 17 namespace syncer {
18 18
19 SyncPrefObserver::~SyncPrefObserver() {} 19 SyncPrefObserver::~SyncPrefObserver() {}
20 20
21 SyncPrefs::SyncPrefs(PrefService* pref_service) : pref_service_(pref_service) { 21 SyncPrefs::SyncPrefs(PrefService* pref_service) : pref_service_(pref_service) {
22 DCHECK(pref_service); 22 DCHECK(pref_service);
23 RegisterPrefGroups(); 23 RegisterPrefGroups();
24 // Watch the preference that indicates sync is managed so we can take 24 // Watch the preference that indicates sync is managed so we can take
25 // appropriate action. 25 // appropriate action.
26 pref_sync_managed_.Init( 26 pref_sync_managed_.Init(
27 prefs::kSyncManaged, pref_service_, 27 prefs::kSyncManaged, pref_service_,
(...skipping 13 matching lines...) Expand all
41 registry->RegisterBooleanPref(prefs::kSyncSuppressStart, false); 41 registry->RegisterBooleanPref(prefs::kSyncSuppressStart, false);
42 registry->RegisterInt64Pref(prefs::kSyncLastSyncedTime, 0); 42 registry->RegisterInt64Pref(prefs::kSyncLastSyncedTime, 0);
43 registry->RegisterInt64Pref(prefs::kSyncLastPollTime, 0); 43 registry->RegisterInt64Pref(prefs::kSyncLastPollTime, 0);
44 registry->RegisterInt64Pref(prefs::kSyncFirstSyncTime, 0); 44 registry->RegisterInt64Pref(prefs::kSyncFirstSyncTime, 0);
45 45
46 // All datatypes are on by default, but this gets set explicitly 46 // All datatypes are on by default, but this gets set explicitly
47 // when you configure sync (when turning it on), in 47 // when you configure sync (when turning it on), in
48 // ProfileSyncService::OnUserChoseDatatypes. 48 // ProfileSyncService::OnUserChoseDatatypes.
49 registry->RegisterBooleanPref(prefs::kSyncKeepEverythingSynced, true); 49 registry->RegisterBooleanPref(prefs::kSyncKeepEverythingSynced, true);
50 50
51 syncer::ModelTypeSet user_types = syncer::UserTypes(); 51 ModelTypeSet user_types = UserTypes();
52 52
53 // Include proxy types as well, as they can be individually selected, 53 // Include proxy types as well, as they can be individually selected,
54 // although they don't have sync representations. 54 // although they don't have sync representations.
55 user_types.PutAll(syncer::ProxyTypes()); 55 user_types.PutAll(ProxyTypes());
56 56
57 // Treat bookmarks and device info specially. 57 // Treat bookmarks and device info specially.
58 RegisterDataTypePreferredPref(registry, syncer::BOOKMARKS, true); 58 RegisterDataTypePreferredPref(registry, BOOKMARKS, true);
59 RegisterDataTypePreferredPref(registry, syncer::DEVICE_INFO, true); 59 RegisterDataTypePreferredPref(registry, DEVICE_INFO, true);
60 user_types.Remove(syncer::BOOKMARKS); 60 user_types.Remove(BOOKMARKS);
61 user_types.Remove(syncer::DEVICE_INFO); 61 user_types.Remove(DEVICE_INFO);
62 62
63 // All types are set to off by default, which forces a configuration to 63 // All types are set to off by default, which forces a configuration to
64 // explicitly enable them. GetPreferredTypes() will ensure that any new 64 // explicitly enable them. GetPreferredTypes() will ensure that any new
65 // implicit types are enabled when their pref group is, or via 65 // implicit types are enabled when their pref group is, or via
66 // KeepEverythingSynced. 66 // KeepEverythingSynced.
67 for (syncer::ModelTypeSet::Iterator it = user_types.First(); it.Good(); 67 for (ModelTypeSet::Iterator it = user_types.First(); it.Good(); it.Inc()) {
68 it.Inc()) {
69 RegisterDataTypePreferredPref(registry, it.Get(), false); 68 RegisterDataTypePreferredPref(registry, it.Get(), false);
70 } 69 }
71 70
72 registry->RegisterBooleanPref(prefs::kSyncManaged, false); 71 registry->RegisterBooleanPref(prefs::kSyncManaged, false);
73 registry->RegisterStringPref(prefs::kSyncEncryptionBootstrapToken, 72 registry->RegisterStringPref(prefs::kSyncEncryptionBootstrapToken,
74 std::string()); 73 std::string());
75 registry->RegisterStringPref(prefs::kSyncKeystoreEncryptionBootstrapToken, 74 registry->RegisterStringPref(prefs::kSyncKeystoreEncryptionBootstrapToken,
76 std::string()); 75 std::string());
77 #if defined(OS_CHROMEOS) 76 #if defined(OS_CHROMEOS)
78 registry->RegisterStringPref(prefs::kSyncSpareBootstrapToken, ""); 77 registry->RegisterStringPref(prefs::kSyncSpareBootstrapToken, "");
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 DCHECK(CalledOnValidThread()); 179 DCHECK(CalledOnValidThread());
181 return pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced); 180 return pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced);
182 } 181 }
183 182
184 void SyncPrefs::SetKeepEverythingSynced(bool keep_everything_synced) { 183 void SyncPrefs::SetKeepEverythingSynced(bool keep_everything_synced) {
185 DCHECK(CalledOnValidThread()); 184 DCHECK(CalledOnValidThread());
186 pref_service_->SetBoolean(prefs::kSyncKeepEverythingSynced, 185 pref_service_->SetBoolean(prefs::kSyncKeepEverythingSynced,
187 keep_everything_synced); 186 keep_everything_synced);
188 } 187 }
189 188
190 syncer::ModelTypeSet SyncPrefs::GetPreferredDataTypes( 189 ModelTypeSet SyncPrefs::GetPreferredDataTypes(
191 syncer::ModelTypeSet registered_types) const { 190 ModelTypeSet registered_types) const {
192 DCHECK(CalledOnValidThread()); 191 DCHECK(CalledOnValidThread());
193 192
194 if (pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced)) { 193 if (pref_service_->GetBoolean(prefs::kSyncKeepEverythingSynced)) {
195 return registered_types; 194 return registered_types;
196 } 195 }
197 196
198 syncer::ModelTypeSet preferred_types; 197 ModelTypeSet preferred_types;
199 for (syncer::ModelTypeSet::Iterator it = registered_types.First(); it.Good(); 198 for (ModelTypeSet::Iterator it = registered_types.First(); it.Good();
200 it.Inc()) { 199 it.Inc()) {
201 if (GetDataTypePreferred(it.Get())) { 200 if (GetDataTypePreferred(it.Get())) {
202 preferred_types.Put(it.Get()); 201 preferred_types.Put(it.Get());
203 } 202 }
204 } 203 }
205 return ResolvePrefGroups(registered_types, preferred_types); 204 return ResolvePrefGroups(registered_types, preferred_types);
206 } 205 }
207 206
208 void SyncPrefs::SetPreferredDataTypes(syncer::ModelTypeSet registered_types, 207 void SyncPrefs::SetPreferredDataTypes(ModelTypeSet registered_types,
209 syncer::ModelTypeSet preferred_types) { 208 ModelTypeSet preferred_types) {
210 DCHECK(CalledOnValidThread()); 209 DCHECK(CalledOnValidThread());
211 preferred_types = ResolvePrefGroups(registered_types, preferred_types); 210 preferred_types = ResolvePrefGroups(registered_types, preferred_types);
212 DCHECK(registered_types.HasAll(preferred_types)); 211 DCHECK(registered_types.HasAll(preferred_types));
213 for (syncer::ModelTypeSet::Iterator i = registered_types.First(); i.Good(); 212 for (ModelTypeSet::Iterator i = registered_types.First(); i.Good(); i.Inc()) {
214 i.Inc()) {
215 SetDataTypePreferred(i.Get(), preferred_types.Has(i.Get())); 213 SetDataTypePreferred(i.Get(), preferred_types.Has(i.Get()));
216 } 214 }
217 } 215 }
218 216
219 bool SyncPrefs::IsManaged() const { 217 bool SyncPrefs::IsManaged() const {
220 DCHECK(CalledOnValidThread()); 218 DCHECK(CalledOnValidThread());
221 return pref_service_->GetBoolean(prefs::kSyncManaged); 219 return pref_service_->GetBoolean(prefs::kSyncManaged);
222 } 220 }
223 221
224 std::string SyncPrefs::GetEncryptionBootstrapToken() const { 222 std::string SyncPrefs::GetEncryptionBootstrapToken() const {
(...skipping 20 matching lines...) Expand all
245 DCHECK(CalledOnValidThread()); 243 DCHECK(CalledOnValidThread());
246 return pref_service_->GetString(prefs::kSyncSessionsGUID); 244 return pref_service_->GetString(prefs::kSyncSessionsGUID);
247 } 245 }
248 246
249 void SyncPrefs::SetSyncSessionsGUID(const std::string& guid) { 247 void SyncPrefs::SetSyncSessionsGUID(const std::string& guid) {
250 DCHECK(CalledOnValidThread()); 248 DCHECK(CalledOnValidThread());
251 pref_service_->SetString(prefs::kSyncSessionsGUID, guid); 249 pref_service_->SetString(prefs::kSyncSessionsGUID, guid);
252 } 250 }
253 251
254 // static 252 // static
255 const char* SyncPrefs::GetPrefNameForDataType(syncer::ModelType data_type) { 253 const char* SyncPrefs::GetPrefNameForDataType(ModelType data_type) {
256 switch (data_type) { 254 switch (data_type) {
257 case syncer::BOOKMARKS: 255 case BOOKMARKS:
258 return prefs::kSyncBookmarks; 256 return prefs::kSyncBookmarks;
259 case syncer::PASSWORDS: 257 case PASSWORDS:
260 return prefs::kSyncPasswords; 258 return prefs::kSyncPasswords;
261 case syncer::PREFERENCES: 259 case PREFERENCES:
262 return prefs::kSyncPreferences; 260 return prefs::kSyncPreferences;
263 case syncer::AUTOFILL: 261 case AUTOFILL:
264 return prefs::kSyncAutofill; 262 return prefs::kSyncAutofill;
265 case syncer::AUTOFILL_PROFILE: 263 case AUTOFILL_PROFILE:
266 return prefs::kSyncAutofillProfile; 264 return prefs::kSyncAutofillProfile;
267 case syncer::AUTOFILL_WALLET_DATA: 265 case AUTOFILL_WALLET_DATA:
268 return prefs::kSyncAutofillWallet; 266 return prefs::kSyncAutofillWallet;
269 case syncer::AUTOFILL_WALLET_METADATA: 267 case AUTOFILL_WALLET_METADATA:
270 return prefs::kSyncAutofillWalletMetadata; 268 return prefs::kSyncAutofillWalletMetadata;
271 case syncer::THEMES: 269 case THEMES:
272 return prefs::kSyncThemes; 270 return prefs::kSyncThemes;
273 case syncer::TYPED_URLS: 271 case TYPED_URLS:
274 return prefs::kSyncTypedUrls; 272 return prefs::kSyncTypedUrls;
275 case syncer::EXTENSION_SETTINGS: 273 case EXTENSION_SETTINGS:
276 return prefs::kSyncExtensionSettings; 274 return prefs::kSyncExtensionSettings;
277 case syncer::EXTENSIONS: 275 case EXTENSIONS:
278 return prefs::kSyncExtensions; 276 return prefs::kSyncExtensions;
279 case syncer::APP_LIST: 277 case APP_LIST:
280 return prefs::kSyncAppList; 278 return prefs::kSyncAppList;
281 case syncer::APP_SETTINGS: 279 case APP_SETTINGS:
282 return prefs::kSyncAppSettings; 280 return prefs::kSyncAppSettings;
283 case syncer::APPS: 281 case APPS:
284 return prefs::kSyncApps; 282 return prefs::kSyncApps;
285 case syncer::SEARCH_ENGINES: 283 case SEARCH_ENGINES:
286 return prefs::kSyncSearchEngines; 284 return prefs::kSyncSearchEngines;
287 case syncer::SESSIONS: 285 case SESSIONS:
288 return prefs::kSyncSessions; 286 return prefs::kSyncSessions;
289 case syncer::APP_NOTIFICATIONS: 287 case APP_NOTIFICATIONS:
290 return prefs::kSyncAppNotifications; 288 return prefs::kSyncAppNotifications;
291 case syncer::HISTORY_DELETE_DIRECTIVES: 289 case HISTORY_DELETE_DIRECTIVES:
292 return prefs::kSyncHistoryDeleteDirectives; 290 return prefs::kSyncHistoryDeleteDirectives;
293 case syncer::SYNCED_NOTIFICATIONS: 291 case SYNCED_NOTIFICATIONS:
294 return prefs::kSyncSyncedNotifications; 292 return prefs::kSyncSyncedNotifications;
295 case syncer::SYNCED_NOTIFICATION_APP_INFO: 293 case SYNCED_NOTIFICATION_APP_INFO:
296 return prefs::kSyncSyncedNotificationAppInfo; 294 return prefs::kSyncSyncedNotificationAppInfo;
297 case syncer::DICTIONARY: 295 case DICTIONARY:
298 return prefs::kSyncDictionary; 296 return prefs::kSyncDictionary;
299 case syncer::FAVICON_IMAGES: 297 case FAVICON_IMAGES:
300 return prefs::kSyncFaviconImages; 298 return prefs::kSyncFaviconImages;
301 case syncer::FAVICON_TRACKING: 299 case FAVICON_TRACKING:
302 return prefs::kSyncFaviconTracking; 300 return prefs::kSyncFaviconTracking;
303 case syncer::SUPERVISED_USER_SETTINGS: 301 case SUPERVISED_USER_SETTINGS:
304 return prefs::kSyncSupervisedUserSettings; 302 return prefs::kSyncSupervisedUserSettings;
305 case syncer::PROXY_TABS: 303 case PROXY_TABS:
306 return prefs::kSyncTabs; 304 return prefs::kSyncTabs;
307 case syncer::PRIORITY_PREFERENCES: 305 case PRIORITY_PREFERENCES:
308 return prefs::kSyncPriorityPreferences; 306 return prefs::kSyncPriorityPreferences;
309 case syncer::SUPERVISED_USERS: 307 case SUPERVISED_USERS:
310 return prefs::kSyncSupervisedUsers; 308 return prefs::kSyncSupervisedUsers;
311 case syncer::ARTICLES: 309 case ARTICLES:
312 return prefs::kSyncArticles; 310 return prefs::kSyncArticles;
313 case syncer::SUPERVISED_USER_SHARED_SETTINGS: 311 case SUPERVISED_USER_SHARED_SETTINGS:
314 return prefs::kSyncSupervisedUserSharedSettings; 312 return prefs::kSyncSupervisedUserSharedSettings;
315 case syncer::SUPERVISED_USER_WHITELISTS: 313 case SUPERVISED_USER_WHITELISTS:
316 return prefs::kSyncSupervisedUserWhitelists; 314 return prefs::kSyncSupervisedUserWhitelists;
317 case syncer::DEVICE_INFO: 315 case DEVICE_INFO:
318 return prefs::kSyncDeviceInfo; 316 return prefs::kSyncDeviceInfo;
319 case syncer::WIFI_CREDENTIALS: 317 case WIFI_CREDENTIALS:
320 return prefs::kSyncWifiCredentials; 318 return prefs::kSyncWifiCredentials;
321 case syncer::ARC_PACKAGE: 319 case ARC_PACKAGE:
322 return prefs::kSyncArcPackage; 320 return prefs::kSyncArcPackage;
323 case syncer::PRINTERS: 321 case PRINTERS:
324 return prefs::kSyncPrinters; 322 return prefs::kSyncPrinters;
325 case syncer::READING_LIST: 323 case READING_LIST:
326 return prefs::kSyncReadingList; 324 return prefs::kSyncReadingList;
327 default: 325 default:
328 break; 326 break;
329 } 327 }
330 NOTREACHED() << "Type is " << data_type; 328 NOTREACHED() << "Type is " << data_type;
331 return NULL; 329 return NULL;
332 } 330 }
333 331
334 #if defined(OS_CHROMEOS) 332 #if defined(OS_CHROMEOS)
335 std::string SyncPrefs::GetSpareBootstrapToken() const { 333 std::string SyncPrefs::GetSpareBootstrapToken() const {
(...skipping 12 matching lines...) Expand all
348 FOR_EACH_OBSERVER(SyncPrefObserver, sync_pref_observers_, 346 FOR_EACH_OBSERVER(SyncPrefObserver, sync_pref_observers_,
349 OnSyncManagedPrefChange(*pref_sync_managed_)); 347 OnSyncManagedPrefChange(*pref_sync_managed_));
350 } 348 }
351 349
352 void SyncPrefs::SetManagedForTest(bool is_managed) { 350 void SyncPrefs::SetManagedForTest(bool is_managed) {
353 DCHECK(CalledOnValidThread()); 351 DCHECK(CalledOnValidThread());
354 pref_service_->SetBoolean(prefs::kSyncManaged, is_managed); 352 pref_service_->SetBoolean(prefs::kSyncManaged, is_managed);
355 } 353 }
356 354
357 void SyncPrefs::RegisterPrefGroups() { 355 void SyncPrefs::RegisterPrefGroups() {
358 pref_groups_[syncer::APPS].Put(syncer::APP_NOTIFICATIONS); 356 pref_groups_[APPS].Put(APP_NOTIFICATIONS);
359 pref_groups_[syncer::APPS].Put(syncer::APP_SETTINGS); 357 pref_groups_[APPS].Put(APP_SETTINGS);
360 pref_groups_[syncer::APPS].Put(syncer::APP_LIST); 358 pref_groups_[APPS].Put(APP_LIST);
361 pref_groups_[syncer::APPS].Put(syncer::ARC_PACKAGE); 359 pref_groups_[APPS].Put(ARC_PACKAGE);
362 pref_groups_[syncer::APPS].Put(syncer::READING_LIST); 360 pref_groups_[APPS].Put(READING_LIST);
363 361
364 pref_groups_[syncer::AUTOFILL].Put(syncer::AUTOFILL_PROFILE); 362 pref_groups_[AUTOFILL].Put(AUTOFILL_PROFILE);
365 pref_groups_[syncer::AUTOFILL].Put(syncer::AUTOFILL_WALLET_DATA); 363 pref_groups_[AUTOFILL].Put(AUTOFILL_WALLET_DATA);
366 pref_groups_[syncer::AUTOFILL].Put(syncer::AUTOFILL_WALLET_METADATA); 364 pref_groups_[AUTOFILL].Put(AUTOFILL_WALLET_METADATA);
367 365
368 pref_groups_[syncer::EXTENSIONS].Put(syncer::EXTENSION_SETTINGS); 366 pref_groups_[EXTENSIONS].Put(EXTENSION_SETTINGS);
369 367
370 pref_groups_[syncer::PREFERENCES].Put(syncer::DICTIONARY); 368 pref_groups_[PREFERENCES].Put(DICTIONARY);
371 pref_groups_[syncer::PREFERENCES].Put(syncer::PRIORITY_PREFERENCES); 369 pref_groups_[PREFERENCES].Put(PRIORITY_PREFERENCES);
372 pref_groups_[syncer::PREFERENCES].Put(syncer::SEARCH_ENGINES); 370 pref_groups_[PREFERENCES].Put(SEARCH_ENGINES);
373 371
374 pref_groups_[syncer::TYPED_URLS].Put(syncer::HISTORY_DELETE_DIRECTIVES); 372 pref_groups_[TYPED_URLS].Put(HISTORY_DELETE_DIRECTIVES);
375 pref_groups_[syncer::TYPED_URLS].Put(syncer::SESSIONS); 373 pref_groups_[TYPED_URLS].Put(SESSIONS);
376 pref_groups_[syncer::TYPED_URLS].Put(syncer::FAVICON_IMAGES); 374 pref_groups_[TYPED_URLS].Put(FAVICON_IMAGES);
377 pref_groups_[syncer::TYPED_URLS].Put(syncer::FAVICON_TRACKING); 375 pref_groups_[TYPED_URLS].Put(FAVICON_TRACKING);
378 376
379 pref_groups_[syncer::PROXY_TABS].Put(syncer::SESSIONS); 377 pref_groups_[PROXY_TABS].Put(SESSIONS);
380 pref_groups_[syncer::PROXY_TABS].Put(syncer::FAVICON_IMAGES); 378 pref_groups_[PROXY_TABS].Put(FAVICON_IMAGES);
381 pref_groups_[syncer::PROXY_TABS].Put(syncer::FAVICON_TRACKING); 379 pref_groups_[PROXY_TABS].Put(FAVICON_TRACKING);
382 380
383 // TODO(zea): put favicons in the bookmarks group as well once it handles 381 // TODO(zea): put favicons in the bookmarks group as well once it handles
384 // those favicons. 382 // those favicons.
385 } 383 }
386 384
387 // static 385 // static
388 void SyncPrefs::RegisterDataTypePreferredPref( 386 void SyncPrefs::RegisterDataTypePreferredPref(
389 user_prefs::PrefRegistrySyncable* registry, 387 user_prefs::PrefRegistrySyncable* registry,
390 syncer::ModelType type, 388 ModelType type,
391 bool is_preferred) { 389 bool is_preferred) {
392 const char* pref_name = GetPrefNameForDataType(type); 390 const char* pref_name = GetPrefNameForDataType(type);
393 if (!pref_name) { 391 if (!pref_name) {
394 NOTREACHED(); 392 NOTREACHED();
395 return; 393 return;
396 } 394 }
397 registry->RegisterBooleanPref(pref_name, is_preferred); 395 registry->RegisterBooleanPref(pref_name, is_preferred);
398 } 396 }
399 397
400 bool SyncPrefs::GetDataTypePreferred(syncer::ModelType type) const { 398 bool SyncPrefs::GetDataTypePreferred(ModelType type) const {
401 DCHECK(CalledOnValidThread()); 399 DCHECK(CalledOnValidThread());
402 const char* pref_name = GetPrefNameForDataType(type); 400 const char* pref_name = GetPrefNameForDataType(type);
403 if (!pref_name) { 401 if (!pref_name) {
404 NOTREACHED(); 402 NOTREACHED();
405 return false; 403 return false;
406 } 404 }
407 405
408 // Device info is always enabled. 406 // Device info is always enabled.
409 if (pref_name == prefs::kSyncDeviceInfo) 407 if (pref_name == prefs::kSyncDeviceInfo)
410 return true; 408 return true;
411 409
412 if (type == syncer::PROXY_TABS && 410 if (type == PROXY_TABS &&
413 pref_service_->GetUserPrefValue(pref_name) == NULL && 411 pref_service_->GetUserPrefValue(pref_name) == NULL &&
414 pref_service_->IsUserModifiablePreference(pref_name)) { 412 pref_service_->IsUserModifiablePreference(pref_name)) {
415 // If there is no tab sync preference yet (i.e. newly enabled type), 413 // If there is no tab sync preference yet (i.e. newly enabled type),
416 // default to the session sync preference value. 414 // default to the session sync preference value.
417 pref_name = GetPrefNameForDataType(syncer::SESSIONS); 415 pref_name = GetPrefNameForDataType(SESSIONS);
418 } 416 }
419 417
420 return pref_service_->GetBoolean(pref_name); 418 return pref_service_->GetBoolean(pref_name);
421 } 419 }
422 420
423 void SyncPrefs::SetDataTypePreferred(syncer::ModelType type, 421 void SyncPrefs::SetDataTypePreferred(ModelType type, bool is_preferred) {
424 bool is_preferred) {
425 DCHECK(CalledOnValidThread()); 422 DCHECK(CalledOnValidThread());
426 const char* pref_name = GetPrefNameForDataType(type); 423 const char* pref_name = GetPrefNameForDataType(type);
427 if (!pref_name) { 424 if (!pref_name) {
428 NOTREACHED(); 425 NOTREACHED();
429 return; 426 return;
430 } 427 }
431 428
432 // Device info is always preferred. 429 // Device info is always preferred.
433 if (type == syncer::DEVICE_INFO) 430 if (type == DEVICE_INFO)
434 return; 431 return;
435 432
436 pref_service_->SetBoolean(pref_name, is_preferred); 433 pref_service_->SetBoolean(pref_name, is_preferred);
437 } 434 }
438 435
439 syncer::ModelTypeSet SyncPrefs::ResolvePrefGroups( 436 ModelTypeSet SyncPrefs::ResolvePrefGroups(ModelTypeSet registered_types,
440 syncer::ModelTypeSet registered_types, 437 ModelTypeSet types) const {
441 syncer::ModelTypeSet types) const { 438 ModelTypeSet types_with_groups = types;
442 syncer::ModelTypeSet types_with_groups = types;
443 for (PrefGroupsMap::const_iterator i = pref_groups_.begin(); 439 for (PrefGroupsMap::const_iterator i = pref_groups_.begin();
444 i != pref_groups_.end(); ++i) { 440 i != pref_groups_.end(); ++i) {
445 if (types.Has(i->first)) 441 if (types.Has(i->first))
446 types_with_groups.PutAll(i->second); 442 types_with_groups.PutAll(i->second);
447 } 443 }
448 types_with_groups.RetainAll(registered_types); 444 types_with_groups.RetainAll(registered_types);
449 return types_with_groups; 445 return types_with_groups;
450 } 446 }
451 447
452 base::Time SyncPrefs::GetFirstSyncTime() const { 448 base::Time SyncPrefs::GetFirstSyncTime() const {
(...skipping 27 matching lines...) Expand all
480 476
481 bool SyncPrefs::DidSyncShutdownCleanly() const { 477 bool SyncPrefs::DidSyncShutdownCleanly() const {
482 return pref_service_->GetBoolean(prefs::kSyncShutdownCleanly); 478 return pref_service_->GetBoolean(prefs::kSyncShutdownCleanly);
483 } 479 }
484 480
485 void SyncPrefs::SetCleanShutdown(bool value) { 481 void SyncPrefs::SetCleanShutdown(bool value) {
486 pref_service_->SetBoolean(prefs::kSyncShutdownCleanly, value); 482 pref_service_->SetBoolean(prefs::kSyncShutdownCleanly, value);
487 } 483 }
488 484
489 void SyncPrefs::GetInvalidationVersions( 485 void SyncPrefs::GetInvalidationVersions(
490 std::map<syncer::ModelType, int64_t>* invalidation_versions) const { 486 std::map<ModelType, int64_t>* invalidation_versions) const {
491 const base::DictionaryValue* invalidation_dictionary = 487 const base::DictionaryValue* invalidation_dictionary =
492 pref_service_->GetDictionary(prefs::kSyncInvalidationVersions); 488 pref_service_->GetDictionary(prefs::kSyncInvalidationVersions);
493 syncer::ModelTypeSet protocol_types = syncer::ProtocolTypes(); 489 ModelTypeSet protocol_types = ProtocolTypes();
494 for (auto iter = protocol_types.First(); iter.Good(); iter.Inc()) { 490 for (auto iter = protocol_types.First(); iter.Good(); iter.Inc()) {
495 std::string key = syncer::ModelTypeToString(iter.Get()); 491 std::string key = ModelTypeToString(iter.Get());
496 std::string version_str; 492 std::string version_str;
497 if (!invalidation_dictionary->GetString(key, &version_str)) 493 if (!invalidation_dictionary->GetString(key, &version_str))
498 continue; 494 continue;
499 int64_t version = 0; 495 int64_t version = 0;
500 if (!base::StringToInt64(version_str, &version)) 496 if (!base::StringToInt64(version_str, &version))
501 continue; 497 continue;
502 (*invalidation_versions)[iter.Get()] = version; 498 (*invalidation_versions)[iter.Get()] = version;
503 } 499 }
504 } 500 }
505 501
506 void SyncPrefs::UpdateInvalidationVersions( 502 void SyncPrefs::UpdateInvalidationVersions(
507 const std::map<syncer::ModelType, int64_t>& invalidation_versions) { 503 const std::map<ModelType, int64_t>& invalidation_versions) {
508 std::unique_ptr<base::DictionaryValue> invalidation_dictionary( 504 std::unique_ptr<base::DictionaryValue> invalidation_dictionary(
509 new base::DictionaryValue()); 505 new base::DictionaryValue());
510 for (const auto& map_iter : invalidation_versions) { 506 for (const auto& map_iter : invalidation_versions) {
511 std::string version_str = base::Int64ToString(map_iter.second); 507 std::string version_str = base::Int64ToString(map_iter.second);
512 invalidation_dictionary->SetString( 508 invalidation_dictionary->SetString(ModelTypeToString(map_iter.first),
513 syncer::ModelTypeToString(map_iter.first), version_str); 509 version_str);
514 } 510 }
515 pref_service_->Set(prefs::kSyncInvalidationVersions, 511 pref_service_->Set(prefs::kSyncInvalidationVersions,
516 *invalidation_dictionary); 512 *invalidation_dictionary);
517 } 513 }
518 514
519 std::string SyncPrefs::GetLastRunVersion() const { 515 std::string SyncPrefs::GetLastRunVersion() const {
520 return pref_service_->GetString(prefs::kSyncLastRunVersion); 516 return pref_service_->GetString(prefs::kSyncLastRunVersion);
521 } 517 }
522 518
523 void SyncPrefs::SetLastRunVersion(const std::string& current_version) { 519 void SyncPrefs::SetLastRunVersion(const std::string& current_version) {
524 pref_service_->SetString(prefs::kSyncLastRunVersion, current_version); 520 pref_service_->SetString(prefs::kSyncLastRunVersion, current_version);
525 } 521 }
526 522
527 void SyncPrefs::SetPassphraseEncryptionTransitionInProgress(bool value) { 523 void SyncPrefs::SetPassphraseEncryptionTransitionInProgress(bool value) {
528 pref_service_->SetBoolean( 524 pref_service_->SetBoolean(
529 prefs::kSyncPassphraseEncryptionTransitionInProgress, value); 525 prefs::kSyncPassphraseEncryptionTransitionInProgress, value);
530 } 526 }
531 527
532 bool SyncPrefs::GetPassphraseEncryptionTransitionInProgress() const { 528 bool SyncPrefs::GetPassphraseEncryptionTransitionInProgress() const {
533 return pref_service_->GetBoolean( 529 return pref_service_->GetBoolean(
534 prefs::kSyncPassphraseEncryptionTransitionInProgress); 530 prefs::kSyncPassphraseEncryptionTransitionInProgress);
535 } 531 }
536 532
537 void SyncPrefs::SetSavedNigoriStateForPassphraseEncryptionTransition( 533 void SyncPrefs::SetSavedNigoriStateForPassphraseEncryptionTransition(
538 const syncer::SyncEncryptionHandler::NigoriState& nigori_state) { 534 const SyncEncryptionHandler::NigoriState& nigori_state) {
539 std::string encoded; 535 std::string encoded;
540 base::Base64Encode(nigori_state.nigori_specifics.SerializeAsString(), 536 base::Base64Encode(nigori_state.nigori_specifics.SerializeAsString(),
541 &encoded); 537 &encoded);
542 pref_service_->SetString(prefs::kSyncNigoriStateForPassphraseTransition, 538 pref_service_->SetString(prefs::kSyncNigoriStateForPassphraseTransition,
543 encoded); 539 encoded);
544 } 540 }
545 541
546 std::unique_ptr<syncer::SyncEncryptionHandler::NigoriState> 542 std::unique_ptr<SyncEncryptionHandler::NigoriState>
547 SyncPrefs::GetSavedNigoriStateForPassphraseEncryptionTransition() const { 543 SyncPrefs::GetSavedNigoriStateForPassphraseEncryptionTransition() const {
548 const std::string encoded = 544 const std::string encoded =
549 pref_service_->GetString(prefs::kSyncNigoriStateForPassphraseTransition); 545 pref_service_->GetString(prefs::kSyncNigoriStateForPassphraseTransition);
550 std::string decoded; 546 std::string decoded;
551 if (!base::Base64Decode(encoded, &decoded)) 547 if (!base::Base64Decode(encoded, &decoded))
552 return std::unique_ptr<syncer::SyncEncryptionHandler::NigoriState>(); 548 return std::unique_ptr<SyncEncryptionHandler::NigoriState>();
553 549
554 std::unique_ptr<syncer::SyncEncryptionHandler::NigoriState> result( 550 std::unique_ptr<SyncEncryptionHandler::NigoriState> result(
555 new syncer::SyncEncryptionHandler::NigoriState()); 551 new SyncEncryptionHandler::NigoriState());
556 if (!result->nigori_specifics.ParseFromString(decoded)) 552 if (!result->nigori_specifics.ParseFromString(decoded))
557 return std::unique_ptr<syncer::SyncEncryptionHandler::NigoriState>(); 553 return std::unique_ptr<SyncEncryptionHandler::NigoriState>();
558 return result; 554 return result;
559 } 555 }
560 556
561 } // namespace sync_driver 557 } // namespace syncer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698