Chromium Code Reviews| 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 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 113 #include "chrome/browser/chromeos/arc/arc_util.h" | 113 #include "chrome/browser/chromeos/arc/arc_util.h" |
| 114 #include "chrome/browser/chromeos/printing/printers_manager.h" | 114 #include "chrome/browser/chromeos/printing/printers_manager.h" |
| 115 #include "chrome/browser/chromeos/printing/printers_manager_factory.h" | 115 #include "chrome/browser/chromeos/printing/printers_manager_factory.h" |
| 116 #include "chrome/browser/chromeos/printing/printers_sync_bridge.h" | 116 #include "chrome/browser/chromeos/printing/printers_sync_bridge.h" |
| 117 #include "chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.h " | 117 #include "chrome/browser/ui/app_list/arc/arc_package_sync_data_type_controller.h " |
| 118 #include "chrome/browser/ui/app_list/arc/arc_package_syncable_service.h" | 118 #include "chrome/browser/ui/app_list/arc/arc_package_syncable_service.h" |
| 119 #include "components/sync_wifi/wifi_credential_syncable_service.h" | 119 #include "components/sync_wifi/wifi_credential_syncable_service.h" |
| 120 #include "components/sync_wifi/wifi_credential_syncable_service_factory.h" | 120 #include "components/sync_wifi/wifi_credential_syncable_service_factory.h" |
| 121 #endif | 121 #endif |
| 122 | 122 |
| 123 using content::BrowserThread; | 123 using autofill::AutocompleteSyncableService; |
|
pavely
2017/03/27 19:38:25
nit: autofill related classes are only mentioned i
skym
2017/03/27 21:45:26
Done.
| |
| 124 using autofill::AutofillProfileSyncableService; | |
| 125 using autofill::AutofillWalletMetadataSyncableService; | |
| 126 using autofill::AutofillWalletSyncableService; | |
| 127 using base::Callback; | |
| 128 using base::WeakPtr; | |
| 124 #if BUILDFLAG(ENABLE_EXTENSIONS) | 129 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 125 using browser_sync::ExtensionDataTypeController; | 130 using browser_sync::ExtensionDataTypeController; |
| 126 using browser_sync::ExtensionSettingDataTypeController; | 131 using browser_sync::ExtensionSettingDataTypeController; |
| 127 #endif | 132 #endif |
| 128 using browser_sync::SearchEngineDataTypeController; | 133 using browser_sync::SearchEngineDataTypeController; |
| 134 using content::BrowserThread; | |
| 129 using syncer::AsyncDirectoryTypeController; | 135 using syncer::AsyncDirectoryTypeController; |
| 136 using syncer::SyncableService; | |
| 137 | |
| 138 using ServiceProvider = syncer::SyncClient::ServiceProvider; | |
| 130 | 139 |
| 131 namespace browser_sync { | 140 namespace browser_sync { |
| 132 | 141 |
| 133 namespace { | 142 namespace { |
| 143 | |
| 134 #if defined(OS_WIN) | 144 #if defined(OS_WIN) |
| 135 const base::FilePath::CharType kLoopbackServerBackendFilename[] = | 145 const base::FilePath::CharType kLoopbackServerBackendFilename[] = |
| 136 FILE_PATH_LITERAL("profile.pb"); | 146 FILE_PATH_LITERAL("profile.pb"); |
| 137 #endif | 147 #endif |
| 148 | |
| 149 template <typename T> | |
|
pavely
2017/03/27 19:38:25
Could you add comment explaining how these functio
skym
2017/03/27 21:45:26
Done.
| |
| 150 T Trampoline(T arg) { | |
| 151 return arg; | |
| 152 } | |
| 153 | |
| 154 template <typename T> | |
| 155 Callback<T()> WrapInCallback(T arg) { | |
| 156 return base::Bind(&Trampoline<T>, arg); | |
| 157 } | |
| 158 | |
| 159 WeakPtr<SyncableService> ServiceAsWeakPtr(SyncableService* ptr) { | |
| 160 return ptr ? ptr->AsWeakPtr() : WeakPtr<SyncableService>(); | |
| 161 } | |
| 162 | |
| 163 ServiceProvider WrapInProvider(SyncableService* service) { | |
| 164 return WrapInCallback(ServiceAsWeakPtr(service)); | |
| 165 } | |
| 166 | |
| 167 template <typename T> | |
| 168 WeakPtr<SyncableService> CallbackResultAsWeakPtr(Callback<T()> callback) { | |
| 169 return ServiceAsWeakPtr(callback.Run()); | |
| 170 } | |
| 171 | |
| 172 template <typename T> | |
| 173 ServiceProvider WrapInWeakPtrCallback(Callback<T()> callback) { | |
| 174 return base::Bind(&CallbackResultAsWeakPtr<T>, callback); | |
| 175 } | |
| 176 | |
| 138 } // namespace | 177 } // namespace |
| 139 | 178 |
| 140 // Chrome implementation of SyncSessionsClient. Needs to be in a separate class | 179 // Chrome implementation of SyncSessionsClient. Needs to be in a separate class |
| 141 // due to possible multiple inheritance issues, wherein ChromeSyncClient might | 180 // due to possible multiple inheritance issues, wherein ChromeSyncClient might |
| 142 // inherit from other interfaces with same methods. | 181 // inherit from other interfaces with same methods. |
| 143 class SyncSessionsClientImpl : public sync_sessions::SyncSessionsClient { | 182 class SyncSessionsClientImpl : public sync_sessions::SyncSessionsClient { |
| 144 public: | 183 public: |
| 145 explicit SyncSessionsClientImpl(Profile* profile) : profile_(profile) { | 184 explicit SyncSessionsClientImpl(Profile* profile) : profile_(profile) { |
| 146 window_delegates_getter_.reset( | 185 window_delegates_getter_.reset( |
| 147 #if defined(OS_ANDROID) | 186 #if defined(OS_ANDROID) |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 292 | 331 |
| 293 favicon::FaviconService* ChromeSyncClient::GetFaviconService() { | 332 favicon::FaviconService* ChromeSyncClient::GetFaviconService() { |
| 294 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 333 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 295 return FaviconServiceFactory::GetForProfile( | 334 return FaviconServiceFactory::GetForProfile( |
| 296 profile_, ServiceAccessType::IMPLICIT_ACCESS); | 335 profile_, ServiceAccessType::IMPLICIT_ACCESS); |
| 297 } | 336 } |
| 298 | 337 |
| 299 history::HistoryService* ChromeSyncClient::GetHistoryService() { | 338 history::HistoryService* ChromeSyncClient::GetHistoryService() { |
| 300 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 339 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 301 return HistoryServiceFactory::GetForProfile( | 340 return HistoryServiceFactory::GetForProfile( |
| 302 profile_, ServiceAccessType::EXPLICIT_ACCESS); | 341 profile_, ServiceAccessType::IMPLICIT_ACCESS); |
| 303 } | 342 } |
| 304 | 343 |
| 305 bool ChromeSyncClient::HasPasswordStore() { | 344 bool ChromeSyncClient::HasPasswordStore() { |
| 306 return password_store_ != nullptr; | 345 return password_store_ != nullptr; |
| 307 } | 346 } |
| 308 | 347 |
| 309 autofill::PersonalDataManager* ChromeSyncClient::GetPersonalDataManager() { | 348 autofill::PersonalDataManager* ChromeSyncClient::GetPersonalDataManager() { |
| 310 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 349 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 311 return autofill::PersonalDataManagerFactory::GetForProfile(profile_); | 350 return autofill::PersonalDataManagerFactory::GetForProfile(profile_); |
| 312 } | 351 } |
| (...skipping 29 matching lines...) Expand all Loading... | |
| 342 | 381 |
| 343 scoped_refptr<syncer::ExtensionsActivity> | 382 scoped_refptr<syncer::ExtensionsActivity> |
| 344 ChromeSyncClient::GetExtensionsActivity() { | 383 ChromeSyncClient::GetExtensionsActivity() { |
| 345 return extensions_activity_monitor_.GetExtensionsActivity(); | 384 return extensions_activity_monitor_.GetExtensionsActivity(); |
| 346 } | 385 } |
| 347 | 386 |
| 348 sync_sessions::SyncSessionsClient* ChromeSyncClient::GetSyncSessionsClient() { | 387 sync_sessions::SyncSessionsClient* ChromeSyncClient::GetSyncSessionsClient() { |
| 349 return sync_sessions_client_.get(); | 388 return sync_sessions_client_.get(); |
| 350 } | 389 } |
| 351 | 390 |
| 352 base::WeakPtr<syncer::SyncableService> | 391 ServiceProvider ChromeSyncClient::GetSyncableServiceForType( |
| 353 ChromeSyncClient::GetSyncableServiceForType(syncer::ModelType type) { | 392 syncer::ModelType type) { |
| 393 DCHECK_CURRENTLY_ON(BrowserThread::UI); | |
| 354 if (!profile_) { // For tests. | 394 if (!profile_) { // For tests. |
| 355 return base::WeakPtr<syncer::SyncableService>(); | 395 return WrapInProvider(nullptr); |
| 356 } | 396 } |
| 357 switch (type) { | 397 switch (type) { |
| 358 case syncer::DEVICE_INFO: | 398 case syncer::DEVICE_INFO: |
| 359 return ProfileSyncServiceFactory::GetForProfile(profile_) | 399 return WrapInProvider(ProfileSyncServiceFactory::GetForProfile(profile_) |
| 360 ->GetDeviceInfoSyncableService() | 400 ->GetDeviceInfoSyncableService()); |
| 361 ->AsWeakPtr(); | |
| 362 case syncer::PREFERENCES: | 401 case syncer::PREFERENCES: |
| 363 return PrefServiceSyncableFromProfile(profile_) | |
| 364 ->GetSyncableService(syncer::PREFERENCES) | |
| 365 ->AsWeakPtr(); | |
| 366 case syncer::PRIORITY_PREFERENCES: | 402 case syncer::PRIORITY_PREFERENCES: |
| 367 return PrefServiceSyncableFromProfile(profile_) | 403 return WrapInProvider( |
| 368 ->GetSyncableService(syncer::PRIORITY_PREFERENCES) | 404 PrefServiceSyncableFromProfile(profile_)->GetSyncableService(type)); |
| 369 ->AsWeakPtr(); | |
| 370 case syncer::AUTOFILL: | 405 case syncer::AUTOFILL: |
| 371 case syncer::AUTOFILL_PROFILE: | 406 case syncer::AUTOFILL_PROFILE: |
| 372 case syncer::AUTOFILL_WALLET_DATA: | 407 case syncer::AUTOFILL_WALLET_DATA: |
| 373 case syncer::AUTOFILL_WALLET_METADATA: { | 408 case syncer::AUTOFILL_WALLET_METADATA: { |
| 374 if (!web_data_service_) | 409 if (!web_data_service_) { |
| 375 return base::WeakPtr<syncer::SyncableService>(); | 410 return WrapInProvider(nullptr); |
| 376 if (type == syncer::AUTOFILL) { | 411 } else if (type == syncer::AUTOFILL) { |
| 377 return autofill::AutocompleteSyncableService::FromWebDataService( | 412 return WrapInWeakPtrCallback( |
| 378 web_data_service_.get())->AsWeakPtr(); | 413 base::Bind(&AutocompleteSyncableService::FromWebDataService, |
| 414 base::RetainedRef(web_data_service_))); | |
| 379 } else if (type == syncer::AUTOFILL_PROFILE) { | 415 } else if (type == syncer::AUTOFILL_PROFILE) { |
| 380 return autofill::AutofillProfileSyncableService::FromWebDataService( | 416 return WrapInWeakPtrCallback( |
| 381 web_data_service_.get())->AsWeakPtr(); | 417 base::Bind(&AutofillProfileSyncableService::FromWebDataService, |
| 418 base::RetainedRef(web_data_service_))); | |
| 382 } else if (type == syncer::AUTOFILL_WALLET_METADATA) { | 419 } else if (type == syncer::AUTOFILL_WALLET_METADATA) { |
| 383 return autofill::AutofillWalletMetadataSyncableService:: | 420 return WrapInWeakPtrCallback(base::Bind( |
| 384 FromWebDataService(web_data_service_.get())->AsWeakPtr(); | 421 &AutofillWalletMetadataSyncableService::FromWebDataService, |
| 422 base::RetainedRef(web_data_service_))); | |
| 423 } else { | |
| 424 return WrapInWeakPtrCallback( | |
| 425 base::Bind(&AutofillWalletSyncableService::FromWebDataService, | |
| 426 base::RetainedRef(web_data_service_))); | |
| 385 } | 427 } |
| 386 return autofill::AutofillWalletSyncableService::FromWebDataService( | |
| 387 web_data_service_.get())->AsWeakPtr(); | |
| 388 } | 428 } |
| 389 case syncer::SEARCH_ENGINES: | 429 case syncer::SEARCH_ENGINES: |
| 390 return TemplateURLServiceFactory::GetForProfile(profile_)->AsWeakPtr(); | 430 return WrapInProvider(TemplateURLServiceFactory::GetForProfile(profile_)); |
| 391 #if BUILDFLAG(ENABLE_EXTENSIONS) | 431 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 392 case syncer::APPS: | 432 case syncer::APPS: |
| 393 case syncer::EXTENSIONS: | 433 case syncer::EXTENSIONS: |
| 394 return ExtensionSyncService::Get(profile_)->AsWeakPtr(); | 434 return WrapInProvider(ExtensionSyncService::Get(profile_)); |
| 395 case syncer::APP_SETTINGS: | 435 case syncer::APP_SETTINGS: |
| 396 case syncer::EXTENSION_SETTINGS: | 436 case syncer::EXTENSION_SETTINGS: |
| 397 return extensions::settings_sync_util::GetSyncableService(profile_, type) | 437 return extensions::settings_sync_util::GetSyncableServiceProvider( |
| 398 ->AsWeakPtr(); | 438 profile_, type); |
| 399 #endif | 439 #endif |
| 400 #if BUILDFLAG(ENABLE_APP_LIST) | 440 #if BUILDFLAG(ENABLE_APP_LIST) |
| 401 case syncer::APP_LIST: | 441 case syncer::APP_LIST: |
| 402 return app_list::AppListSyncableServiceFactory::GetForProfile(profile_)-> | 442 return WrapInProvider( |
| 403 AsWeakPtr(); | 443 app_list::AppListSyncableServiceFactory::GetForProfile(profile_)); |
| 404 #endif | 444 #endif |
| 405 #if !defined(OS_ANDROID) | 445 #if !defined(OS_ANDROID) |
| 406 case syncer::THEMES: | 446 case syncer::THEMES: |
| 407 return ThemeServiceFactory::GetForProfile(profile_)-> | 447 return WrapInProvider(ThemeServiceFactory::GetForProfile(profile_) |
| 408 GetThemeSyncableService()->AsWeakPtr(); | 448 ->GetThemeSyncableService()); |
| 409 #endif | 449 #endif |
| 410 case syncer::HISTORY_DELETE_DIRECTIVES: { | 450 case syncer::HISTORY_DELETE_DIRECTIVES: |
| 451 return WrapInProvider(GetHistoryService()); | |
| 452 case syncer::TYPED_URLS: { | |
| 411 history::HistoryService* history = GetHistoryService(); | 453 history::HistoryService* history = GetHistoryService(); |
| 412 return history ? history->AsWeakPtr() | 454 return WrapInProvider(history ? history->GetTypedUrlSyncableService() |
| 413 : base::WeakPtr<history::HistoryService>(); | 455 : nullptr); |
| 414 } | |
| 415 case syncer::TYPED_URLS: { | |
| 416 // We request history service with explicit access here because this | |
| 417 // codepath is executed on backend thread while HistoryServiceFactory | |
| 418 // checks preference value in implicit mode and PrefService expectes calls | |
| 419 // only from UI thread. | |
| 420 history::HistoryService* history = HistoryServiceFactory::GetForProfile( | |
| 421 profile_, ServiceAccessType::EXPLICIT_ACCESS); | |
| 422 if (!history) | |
| 423 return base::WeakPtr<history::TypedUrlSyncableService>(); | |
| 424 return history->GetTypedUrlSyncableService()->AsWeakPtr(); | |
| 425 } | 456 } |
| 426 #if BUILDFLAG(ENABLE_SPELLCHECK) | 457 #if BUILDFLAG(ENABLE_SPELLCHECK) |
| 427 case syncer::DICTIONARY: | 458 case syncer::DICTIONARY: |
| 428 return SpellcheckServiceFactory::GetForContext(profile_)-> | 459 return WrapInProvider(SpellcheckServiceFactory::GetForContext(profile_) |
| 429 GetCustomDictionary()->AsWeakPtr(); | 460 ->GetCustomDictionary()); |
| 430 #endif | 461 #endif |
| 431 case syncer::FAVICON_IMAGES: | 462 case syncer::FAVICON_IMAGES: |
| 432 case syncer::FAVICON_TRACKING: { | 463 case syncer::FAVICON_TRACKING: |
| 433 sync_sessions::FaviconCache* favicons = | 464 return WrapInProvider(ProfileSyncServiceFactory::GetForProfile(profile_) |
| 434 ProfileSyncServiceFactory::GetForProfile(profile_)->GetFaviconCache(); | 465 ->GetFaviconCache()); |
| 435 return favicons ? favicons->AsWeakPtr() | |
| 436 : base::WeakPtr<syncer::SyncableService>(); | |
| 437 } | |
| 438 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) | 466 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) |
| 439 case syncer::SUPERVISED_USER_SETTINGS: | 467 case syncer::SUPERVISED_USER_SETTINGS: |
| 440 return SupervisedUserSettingsServiceFactory::GetForProfile(profile_)-> | 468 return WrapInProvider( |
| 441 AsWeakPtr(); | 469 SupervisedUserSettingsServiceFactory::GetForProfile(profile_)); |
| 442 #if !defined(OS_ANDROID) | 470 #if !defined(OS_ANDROID) |
| 443 case syncer::SUPERVISED_USERS: | 471 case syncer::SUPERVISED_USERS: |
| 444 return SupervisedUserSyncServiceFactory::GetForProfile(profile_)-> | 472 return WrapInProvider( |
| 445 AsWeakPtr(); | 473 SupervisedUserSyncServiceFactory::GetForProfile(profile_)); |
| 446 case syncer::SUPERVISED_USER_SHARED_SETTINGS: | 474 case syncer::SUPERVISED_USER_SHARED_SETTINGS: |
| 447 return SupervisedUserSharedSettingsServiceFactory::GetForBrowserContext( | 475 return WrapInProvider( |
| 448 profile_)->AsWeakPtr(); | 476 SupervisedUserSharedSettingsServiceFactory::GetForBrowserContext( |
| 477 profile_)); | |
| 449 #endif | 478 #endif |
| 450 case syncer::SUPERVISED_USER_WHITELISTS: | 479 case syncer::SUPERVISED_USER_WHITELISTS: |
| 451 return SupervisedUserServiceFactory::GetForProfile(profile_) | 480 return WrapInProvider( |
| 452 ->GetWhitelistService() | 481 SupervisedUserServiceFactory::GetForProfile(profile_) |
| 453 ->AsWeakPtr(); | 482 ->GetWhitelistService()); |
| 454 #endif | 483 #endif |
| 455 case syncer::ARTICLES: { | 484 case syncer::ARTICLES: { |
| 456 dom_distiller::DomDistillerService* service = | 485 dom_distiller::DomDistillerService* distiller = |
|
pavely
2017/03/27 19:38:25
nit: distiller => distiller_service?
skym
2017/03/27 21:45:26
Done.
| |
| 457 dom_distiller::DomDistillerServiceFactory::GetForBrowserContext( | 486 dom_distiller::DomDistillerServiceFactory::GetForBrowserContext( |
| 458 profile_); | 487 profile_); |
| 459 if (service) | 488 return WrapInProvider(distiller ? distiller->GetSyncableService() |
| 460 return service->GetSyncableService()->AsWeakPtr(); | 489 : nullptr); |
| 461 return base::WeakPtr<syncer::SyncableService>(); | |
| 462 } | 490 } |
| 463 case syncer::SESSIONS: { | 491 case syncer::SESSIONS: |
| 464 return ProfileSyncServiceFactory::GetForProfile(profile_)-> | 492 return WrapInProvider(ProfileSyncServiceFactory::GetForProfile(profile_) |
| 465 GetSessionsSyncableService()->AsWeakPtr(); | 493 ->GetSessionsSyncableService()); |
| 466 } | 494 case syncer::PASSWORDS: |
| 467 case syncer::PASSWORDS: { | |
| 468 return password_store_.get() | 495 return password_store_.get() |
| 469 ? password_store_->GetPasswordSyncableService() | 496 ? base::Bind(&password_manager::PasswordStore:: |
| 470 : base::WeakPtr<syncer::SyncableService>(); | 497 GetPasswordSyncableService, |
| 471 } | 498 base::RetainedRef(password_store_)) |
| 499 : WrapInProvider(nullptr); | |
| 472 #if defined(OS_CHROMEOS) | 500 #if defined(OS_CHROMEOS) |
| 473 case syncer::WIFI_CREDENTIALS: | 501 case syncer::WIFI_CREDENTIALS: |
| 474 return sync_wifi::WifiCredentialSyncableServiceFactory:: | 502 return WrapInProvider( |
| 475 GetForBrowserContext(profile_) | 503 sync_wifi::WifiCredentialSyncableServiceFactory::GetForBrowserContext( |
| 476 ->AsWeakPtr(); | 504 profile_)); |
| 477 case syncer::ARC_PACKAGE: | 505 case syncer::ARC_PACKAGE: |
| 478 return arc::ArcPackageSyncableService::Get(profile_)->AsWeakPtr(); | 506 return WrapInProvider(arc::ArcPackageSyncableService::Get(profile_)); |
| 479 #endif | 507 #endif |
| 480 default: | 508 default: |
| 481 // The following datatypes still need to be transitioned to the | 509 // The following datatypes still need to be transitioned to the |
| 482 // syncer::SyncableService API: | 510 // syncer::SyncableService API: |
| 483 // Bookmarks | 511 // Bookmarks |
| 484 NOTREACHED(); | 512 NOTREACHED(); |
| 485 return base::WeakPtr<syncer::SyncableService>(); | 513 return WrapInProvider(nullptr); |
| 486 } | 514 } |
| 487 } | 515 } |
| 488 | 516 |
| 489 base::WeakPtr<syncer::ModelTypeSyncBridge> | 517 WeakPtr<syncer::ModelTypeSyncBridge> |
| 490 ChromeSyncClient::GetSyncBridgeForModelType(syncer::ModelType type) { | 518 ChromeSyncClient::GetSyncBridgeForModelType(syncer::ModelType type) { |
| 491 switch (type) { | 519 switch (type) { |
| 492 case syncer::DEVICE_INFO: | 520 case syncer::DEVICE_INFO: |
| 493 return ProfileSyncServiceFactory::GetForProfile(profile_) | 521 return ProfileSyncServiceFactory::GetForProfile(profile_) |
| 494 ->GetDeviceInfoSyncBridge() | 522 ->GetDeviceInfoSyncBridge() |
| 495 ->AsWeakPtr(); | 523 ->AsWeakPtr(); |
| 496 case syncer::READING_LIST: | 524 case syncer::READING_LIST: |
| 497 // Reading List is only supported on iOS at the moment. | 525 // Reading List is only supported on iOS at the moment. |
| 498 NOTREACHED(); | 526 NOTREACHED(); |
| 499 return base::WeakPtr<syncer::ModelTypeSyncBridge>(); | 527 return WeakPtr<syncer::ModelTypeSyncBridge>(); |
| 500 case syncer::AUTOFILL: | 528 case syncer::AUTOFILL: |
| 501 return autofill::AutocompleteSyncBridge::FromWebDataService( | 529 return autofill::AutocompleteSyncBridge::FromWebDataService( |
| 502 web_data_service_.get()); | 530 web_data_service_.get()); |
| 503 #if defined(OS_CHROMEOS) | 531 #if defined(OS_CHROMEOS) |
| 504 case syncer::PRINTERS: | 532 case syncer::PRINTERS: |
| 505 return chromeos::PrintersManagerFactory::GetForBrowserContext(profile_) | 533 return chromeos::PrintersManagerFactory::GetForBrowserContext(profile_) |
| 506 ->GetSyncBridge() | 534 ->GetSyncBridge() |
| 507 ->AsWeakPtr(); | 535 ->AsWeakPtr(); |
| 508 #endif | 536 #endif |
| 509 default: | 537 default: |
| 510 NOTREACHED(); | 538 NOTREACHED(); |
| 511 return base::WeakPtr<syncer::ModelTypeSyncBridge>(); | 539 return WeakPtr<syncer::ModelTypeSyncBridge>(); |
| 512 } | 540 } |
| 513 } | 541 } |
| 514 | 542 |
| 515 scoped_refptr<syncer::ModelSafeWorker> | 543 scoped_refptr<syncer::ModelSafeWorker> |
| 516 ChromeSyncClient::CreateModelWorkerForGroup(syncer::ModelSafeGroup group) { | 544 ChromeSyncClient::CreateModelWorkerForGroup(syncer::ModelSafeGroup group) { |
| 517 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 545 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 518 switch (group) { | 546 switch (group) { |
| 519 case syncer::GROUP_DB: | 547 case syncer::GROUP_DB: |
| 520 return new syncer::BrowserThreadModelWorker( | 548 return new syncer::BrowserThreadModelWorker( |
| 521 BrowserThread::GetTaskRunnerForThread(BrowserThread::DB), | 549 BrowserThread::GetTaskRunnerForThread(BrowserThread::DB), |
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 702 sync_service->RegisterDataTypeController( | 730 sync_service->RegisterDataTypeController( |
| 703 base::MakeUnique<SupervisedUserSyncDataTypeController>( | 731 base::MakeUnique<SupervisedUserSyncDataTypeController>( |
| 704 syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_)); | 732 syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_)); |
| 705 sync_service->RegisterDataTypeController( | 733 sync_service->RegisterDataTypeController( |
| 706 base::MakeUnique<SupervisedUserSyncDataTypeController>( | 734 base::MakeUnique<SupervisedUserSyncDataTypeController>( |
| 707 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); | 735 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); |
| 708 #endif | 736 #endif |
| 709 } | 737 } |
| 710 | 738 |
| 711 } // namespace browser_sync | 739 } // namespace browser_sync |
| OLD | NEW |