| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/sync/chrome_sync_client.h" | 5 #include "chrome/browser/sync/chrome_sync_client.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 440 return SupervisedUserSettingsServiceFactory::GetForProfile(profile_)-> | 440 return SupervisedUserSettingsServiceFactory::GetForProfile(profile_)-> |
| 441 AsWeakPtr(); | 441 AsWeakPtr(); |
| 442 #if !defined(OS_ANDROID) | 442 #if !defined(OS_ANDROID) |
| 443 case syncer::SUPERVISED_USERS: | 443 case syncer::SUPERVISED_USERS: |
| 444 return SupervisedUserSyncServiceFactory::GetForProfile(profile_)-> | 444 return SupervisedUserSyncServiceFactory::GetForProfile(profile_)-> |
| 445 AsWeakPtr(); | 445 AsWeakPtr(); |
| 446 case syncer::SUPERVISED_USER_SHARED_SETTINGS: | 446 case syncer::SUPERVISED_USER_SHARED_SETTINGS: |
| 447 return SupervisedUserSharedSettingsServiceFactory::GetForBrowserContext( | 447 return SupervisedUserSharedSettingsServiceFactory::GetForBrowserContext( |
| 448 profile_)->AsWeakPtr(); | 448 profile_)->AsWeakPtr(); |
| 449 #endif // !defined(OS_ANDROID) | 449 #endif // !defined(OS_ANDROID) |
| 450 case syncer::SUPERVISED_USER_WHITELISTS: | 450 case syncer::SUPERVISED_USER_WHITELISTS: { |
| 451 return SupervisedUserServiceFactory::GetForProfile(profile_) | 451 // Unlike other types here, ProfileSyncServiceFactory does not declare a |
| 452 ->GetWhitelistService() | 452 // DependsOn the SupervisedUserServiceFactory (in order to avoid circular |
| 453 ->AsWeakPtr(); | 453 // dependency), which means we cannot assume it is still alive. |
| 454 SupervisedUserService* supervised_user_service = |
| 455 SupervisedUserServiceFactory::GetForProfileIfExists(profile_); |
| 456 if (supervised_user_service) |
| 457 return supervised_user_service->GetWhitelistService()->AsWeakPtr(); |
| 458 return base::WeakPtr<syncer::SyncableService>(); |
| 459 } |
| 454 #endif // BUILDFLAG(ENABLE_SUPERVISED_USERS) | 460 #endif // BUILDFLAG(ENABLE_SUPERVISED_USERS) |
| 455 case syncer::ARTICLES: { | 461 case syncer::ARTICLES: { |
| 456 dom_distiller::DomDistillerService* service = | 462 dom_distiller::DomDistillerService* service = |
| 457 dom_distiller::DomDistillerServiceFactory::GetForBrowserContext( | 463 dom_distiller::DomDistillerServiceFactory::GetForBrowserContext( |
| 458 profile_); | 464 profile_); |
| 459 if (service) | 465 if (service) |
| 460 return service->GetSyncableService()->AsWeakPtr(); | 466 return service->GetSyncableService()->AsWeakPtr(); |
| 461 return base::WeakPtr<syncer::SyncableService>(); | 467 return base::WeakPtr<syncer::SyncableService>(); |
| 462 } | 468 } |
| 463 case syncer::SESSIONS: { | 469 case syncer::SESSIONS: { |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 500 case syncer::AUTOFILL: | 506 case syncer::AUTOFILL: |
| 501 return autofill::AutocompleteSyncBridge::FromWebDataService( | 507 return autofill::AutocompleteSyncBridge::FromWebDataService( |
| 502 web_data_service_.get()); | 508 web_data_service_.get()); |
| 503 #if defined(OS_CHROMEOS) | 509 #if defined(OS_CHROMEOS) |
| 504 case syncer::PRINTERS: | 510 case syncer::PRINTERS: |
| 505 return chromeos::PrintersManagerFactory::GetForBrowserContext(profile_) | 511 return chromeos::PrintersManagerFactory::GetForBrowserContext(profile_) |
| 506 ->GetSyncBridge() | 512 ->GetSyncBridge() |
| 507 ->AsWeakPtr(); | 513 ->AsWeakPtr(); |
| 508 #endif // defined(OS_CHROMEOS) | 514 #endif // defined(OS_CHROMEOS) |
| 509 case syncer::TYPED_URLS: | 515 case syncer::TYPED_URLS: |
| 510 // TODO(gangwu):implement TypedURLSyncBridge and return real | 516 // TODO(gangwu): Implement TypedURLSyncBridge and return real |
| 511 // TypedURLSyncBridge here. | 517 // TypedURLSyncBridge here. |
| 512 return base::WeakPtr<syncer::ModelTypeSyncBridge>(); | 518 return base::WeakPtr<syncer::ModelTypeSyncBridge>(); |
| 513 default: | 519 default: |
| 514 NOTREACHED(); | 520 NOTREACHED(); |
| 515 return base::WeakPtr<syncer::ModelTypeSyncBridge>(); | 521 return base::WeakPtr<syncer::ModelTypeSyncBridge>(); |
| 516 } | 522 } |
| 517 } | 523 } |
| 518 | 524 |
| 519 scoped_refptr<syncer::ModelSafeWorker> | 525 scoped_refptr<syncer::ModelSafeWorker> |
| 520 ChromeSyncClient::CreateModelWorkerForGroup(syncer::ModelSafeGroup group) { | 526 ChromeSyncClient::CreateModelWorkerForGroup(syncer::ModelSafeGroup group) { |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 706 sync_service->RegisterDataTypeController( | 712 sync_service->RegisterDataTypeController( |
| 707 base::MakeUnique<SupervisedUserSyncDataTypeController>( | 713 base::MakeUnique<SupervisedUserSyncDataTypeController>( |
| 708 syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_)); | 714 syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_)); |
| 709 sync_service->RegisterDataTypeController( | 715 sync_service->RegisterDataTypeController( |
| 710 base::MakeUnique<SupervisedUserSyncDataTypeController>( | 716 base::MakeUnique<SupervisedUserSyncDataTypeController>( |
| 711 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); | 717 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); |
| 712 #endif // BUILDFLAG(ENABLE_SUPERVISED_USERS) | 718 #endif // BUILDFLAG(ENABLE_SUPERVISED_USERS) |
| 713 } | 719 } |
| 714 | 720 |
| 715 } // namespace browser_sync | 721 } // namespace browser_sync |
| OLD | NEW |