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