| 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 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 #include "components/sync_sessions/favicon_cache.h" | 71 #include "components/sync_sessions/favicon_cache.h" |
| 72 #include "components/sync_sessions/sync_sessions_client.h" | 72 #include "components/sync_sessions/sync_sessions_client.h" |
| 73 #include "content/public/browser/browser_thread.h" | 73 #include "content/public/browser/browser_thread.h" |
| 74 #include "extensions/features/features.h" | 74 #include "extensions/features/features.h" |
| 75 #include "ui/base/device_form_factor.h" | 75 #include "ui/base/device_form_factor.h" |
| 76 | 76 |
| 77 #if BUILDFLAG(ENABLE_APP_LIST) | 77 #if BUILDFLAG(ENABLE_APP_LIST) |
| 78 #include "chrome/browser/ui/app_list/app_list_syncable_service.h" | 78 #include "chrome/browser/ui/app_list/app_list_syncable_service.h" |
| 79 #include "chrome/browser/ui/app_list/app_list_syncable_service_factory.h" | 79 #include "chrome/browser/ui/app_list/app_list_syncable_service_factory.h" |
| 80 #include "ui/app_list/app_list_switches.h" | 80 #include "ui/app_list/app_list_switches.h" |
| 81 #endif | 81 #endif // BUILDFLAG(ENABLE_APP_LIST) |
| 82 | 82 |
| 83 #if BUILDFLAG(ENABLE_EXTENSIONS) | 83 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 84 #include "chrome/browser/extensions/api/storage/settings_sync_util.h" | 84 #include "chrome/browser/extensions/api/storage/settings_sync_util.h" |
| 85 #include "chrome/browser/extensions/extension_sync_service.h" | 85 #include "chrome/browser/extensions/extension_sync_service.h" |
| 86 #include "chrome/browser/sync/glue/extension_data_type_controller.h" | 86 #include "chrome/browser/sync/glue/extension_data_type_controller.h" |
| 87 #include "chrome/browser/sync/glue/extension_setting_data_type_controller.h" | 87 #include "chrome/browser/sync/glue/extension_setting_data_type_controller.h" |
| 88 #endif | 88 #endif // BUILDFLAG(ENABLE_EXTENSIONS) |
| 89 | 89 |
| 90 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) | 90 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) |
| 91 #include "chrome/browser/supervised_user/legacy/supervised_user_shared_settings_
service.h" | 91 #include "chrome/browser/supervised_user/legacy/supervised_user_shared_settings_
service.h" |
| 92 #include "chrome/browser/supervised_user/legacy/supervised_user_shared_settings_
service_factory.h" | 92 #include "chrome/browser/supervised_user/legacy/supervised_user_shared_settings_
service_factory.h" |
| 93 #include "chrome/browser/supervised_user/legacy/supervised_user_sync_service.h" | 93 #include "chrome/browser/supervised_user/legacy/supervised_user_sync_service.h" |
| 94 #include "chrome/browser/supervised_user/legacy/supervised_user_sync_service_fac
tory.h" | 94 #include "chrome/browser/supervised_user/legacy/supervised_user_sync_service_fac
tory.h" |
| 95 #include "chrome/browser/supervised_user/supervised_user_service.h" | 95 #include "chrome/browser/supervised_user/supervised_user_service.h" |
| 96 #include "chrome/browser/supervised_user/supervised_user_service_factory.h" | 96 #include "chrome/browser/supervised_user/supervised_user_service_factory.h" |
| 97 #include "chrome/browser/supervised_user/supervised_user_settings_service.h" | 97 #include "chrome/browser/supervised_user/supervised_user_settings_service.h" |
| 98 #include "chrome/browser/supervised_user/supervised_user_settings_service_factor
y.h" | 98 #include "chrome/browser/supervised_user/supervised_user_settings_service_factor
y.h" |
| 99 #include "chrome/browser/supervised_user/supervised_user_sync_data_type_controll
er.h" | 99 #include "chrome/browser/supervised_user/supervised_user_sync_data_type_controll
er.h" |
| 100 #include "chrome/browser/supervised_user/supervised_user_whitelist_service.h" | 100 #include "chrome/browser/supervised_user/supervised_user_whitelist_service.h" |
| 101 #endif | 101 #endif // BUILDFLAG(ENABLE_SUPERVISED_USERS) |
| 102 | 102 |
| 103 #if BUILDFLAG(ENABLE_SPELLCHECK) | 103 #if BUILDFLAG(ENABLE_SPELLCHECK) |
| 104 #include "chrome/browser/spellchecker/spellcheck_factory.h" | 104 #include "chrome/browser/spellchecker/spellcheck_factory.h" |
| 105 #include "chrome/browser/spellchecker/spellcheck_service.h" | 105 #include "chrome/browser/spellchecker/spellcheck_service.h" |
| 106 #endif | 106 #endif // BUILDFLAG(ENABLE_SPELLCHECK) |
| 107 | 107 |
| 108 #if defined(OS_ANDROID) | 108 #if defined(OS_ANDROID) |
| 109 #include "chrome/browser/sync/glue/synced_window_delegates_getter_android.h" | 109 #include "chrome/browser/sync/glue/synced_window_delegates_getter_android.h" |
| 110 #endif | 110 #endif // defined(OS_ANDROID) |
| 111 | 111 |
| 112 #if defined(OS_CHROMEOS) | 112 #if defined(OS_CHROMEOS) |
| 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 // defined(OS_CHROMEOS) |
| 122 | 122 |
| 123 using content::BrowserThread; | 123 using content::BrowserThread; |
| 124 #if BUILDFLAG(ENABLE_EXTENSIONS) | 124 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 125 using browser_sync::ExtensionDataTypeController; | 125 using browser_sync::ExtensionDataTypeController; |
| 126 using browser_sync::ExtensionSettingDataTypeController; | 126 using browser_sync::ExtensionSettingDataTypeController; |
| 127 #endif | 127 #endif // BUILDFLAG(ENABLE_EXTENSIONS) |
| 128 using browser_sync::SearchEngineDataTypeController; | 128 using browser_sync::SearchEngineDataTypeController; |
| 129 using syncer::AsyncDirectoryTypeController; | 129 using syncer::AsyncDirectoryTypeController; |
| 130 | 130 |
| 131 namespace browser_sync { | 131 namespace browser_sync { |
| 132 | 132 |
| 133 namespace { | 133 namespace { |
| 134 #if defined(OS_WIN) | 134 #if defined(OS_WIN) |
| 135 const base::FilePath::CharType kLoopbackServerBackendFilename[] = | 135 const base::FilePath::CharType kLoopbackServerBackendFilename[] = |
| 136 FILE_PATH_LITERAL("profile.pb"); | 136 FILE_PATH_LITERAL("profile.pb"); |
| 137 #endif | 137 #endif // defined(OS_WIN) |
| 138 } // namespace | 138 } // namespace |
| 139 | 139 |
| 140 // Chrome implementation of SyncSessionsClient. Needs to be in a separate class | 140 // Chrome implementation of SyncSessionsClient. Needs to be in a separate class |
| 141 // due to possible multiple inheritance issues, wherein ChromeSyncClient might | 141 // due to possible multiple inheritance issues, wherein ChromeSyncClient might |
| 142 // inherit from other interfaces with same methods. | 142 // inherit from other interfaces with same methods. |
| 143 class SyncSessionsClientImpl : public sync_sessions::SyncSessionsClient { | 143 class SyncSessionsClientImpl : public sync_sessions::SyncSessionsClient { |
| 144 public: | 144 public: |
| 145 explicit SyncSessionsClientImpl(Profile* profile) : profile_(profile) { | 145 explicit SyncSessionsClientImpl(Profile* profile) : profile_(profile) { |
| 146 window_delegates_getter_.reset( | 146 window_delegates_getter_.reset( |
| 147 #if defined(OS_ANDROID) | 147 #if defined(OS_ANDROID) |
| 148 // Android doesn't have multi-profile support, so no need to pass the | 148 // Android doesn't have multi-profile support, so no need to pass the |
| 149 // profile in. | 149 // profile in. |
| 150 new SyncedWindowDelegatesGetterAndroid()); | 150 new SyncedWindowDelegatesGetterAndroid()); |
| 151 #else | 151 #else // defined(OS_ANDROID) |
| 152 new browser_sync::BrowserSyncedWindowDelegatesGetter(profile)); | 152 new browser_sync::BrowserSyncedWindowDelegatesGetter(profile)); |
| 153 #endif | 153 #endif // defined(OS_ANDROID) |
| 154 } | 154 } |
| 155 ~SyncSessionsClientImpl() override {} | 155 ~SyncSessionsClientImpl() override {} |
| 156 | 156 |
| 157 // SyncSessionsClient implementation. | 157 // SyncSessionsClient implementation. |
| 158 bookmarks::BookmarkModel* GetBookmarkModel() override { | 158 bookmarks::BookmarkModel* GetBookmarkModel() override { |
| 159 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); | 159 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| 160 return BookmarkModelFactory::GetForBrowserContext(profile_); | 160 return BookmarkModelFactory::GetForBrowserContext(profile_); |
| 161 } | 161 } |
| 162 favicon::FaviconService* GetFaviconService() override { | 162 favicon::FaviconService* GetFaviconService() override { |
| 163 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); | 163 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| (...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 389 case syncer::SEARCH_ENGINES: | 389 case syncer::SEARCH_ENGINES: |
| 390 return TemplateURLServiceFactory::GetForProfile(profile_)->AsWeakPtr(); | 390 return TemplateURLServiceFactory::GetForProfile(profile_)->AsWeakPtr(); |
| 391 #if BUILDFLAG(ENABLE_EXTENSIONS) | 391 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 392 case syncer::APPS: | 392 case syncer::APPS: |
| 393 case syncer::EXTENSIONS: | 393 case syncer::EXTENSIONS: |
| 394 return ExtensionSyncService::Get(profile_)->AsWeakPtr(); | 394 return ExtensionSyncService::Get(profile_)->AsWeakPtr(); |
| 395 case syncer::APP_SETTINGS: | 395 case syncer::APP_SETTINGS: |
| 396 case syncer::EXTENSION_SETTINGS: | 396 case syncer::EXTENSION_SETTINGS: |
| 397 return extensions::settings_sync_util::GetSyncableService(profile_, type) | 397 return extensions::settings_sync_util::GetSyncableService(profile_, type) |
| 398 ->AsWeakPtr(); | 398 ->AsWeakPtr(); |
| 399 #endif | 399 #endif // BUILDFLAG(ENABLE_EXTENSIONS) |
| 400 #if BUILDFLAG(ENABLE_APP_LIST) | 400 #if BUILDFLAG(ENABLE_APP_LIST) |
| 401 case syncer::APP_LIST: | 401 case syncer::APP_LIST: |
| 402 return app_list::AppListSyncableServiceFactory::GetForProfile(profile_)-> | 402 return app_list::AppListSyncableServiceFactory::GetForProfile(profile_)-> |
| 403 AsWeakPtr(); | 403 AsWeakPtr(); |
| 404 #endif | 404 #endif // BUILDFLAG(ENABLE_APP_LIST) |
| 405 #if !defined(OS_ANDROID) | 405 #if !defined(OS_ANDROID) |
| 406 case syncer::THEMES: | 406 case syncer::THEMES: |
| 407 return ThemeServiceFactory::GetForProfile(profile_)-> | 407 return ThemeServiceFactory::GetForProfile(profile_)-> |
| 408 GetThemeSyncableService()->AsWeakPtr(); | 408 GetThemeSyncableService()->AsWeakPtr(); |
| 409 #endif | 409 #endif // !defined(OS_ANDROID) |
| 410 case syncer::HISTORY_DELETE_DIRECTIVES: { | 410 case syncer::HISTORY_DELETE_DIRECTIVES: { |
| 411 history::HistoryService* history = GetHistoryService(); | 411 history::HistoryService* history = GetHistoryService(); |
| 412 return history ? history->AsWeakPtr() | 412 return history ? history->AsWeakPtr() |
| 413 : base::WeakPtr<history::HistoryService>(); | 413 : base::WeakPtr<history::HistoryService>(); |
| 414 } | 414 } |
| 415 case syncer::TYPED_URLS: { | 415 case syncer::TYPED_URLS: { |
| 416 // We request history service with explicit access here because this | 416 // We request history service with explicit access here because this |
| 417 // codepath is executed on backend thread while HistoryServiceFactory | 417 // codepath is executed on backend thread while HistoryServiceFactory |
| 418 // checks preference value in implicit mode and PrefService expectes calls | 418 // checks preference value in implicit mode and PrefService expectes calls |
| 419 // only from UI thread. | 419 // only from UI thread. |
| 420 history::HistoryService* history = HistoryServiceFactory::GetForProfile( | 420 history::HistoryService* history = HistoryServiceFactory::GetForProfile( |
| 421 profile_, ServiceAccessType::EXPLICIT_ACCESS); | 421 profile_, ServiceAccessType::EXPLICIT_ACCESS); |
| 422 if (!history) | 422 if (!history) |
| 423 return base::WeakPtr<history::TypedUrlSyncableService>(); | 423 return base::WeakPtr<history::TypedUrlSyncableService>(); |
| 424 return history->GetTypedUrlSyncableService()->AsWeakPtr(); | 424 return history->GetTypedUrlSyncableService()->AsWeakPtr(); |
| 425 } | 425 } |
| 426 #if BUILDFLAG(ENABLE_SPELLCHECK) | 426 #if BUILDFLAG(ENABLE_SPELLCHECK) |
| 427 case syncer::DICTIONARY: | 427 case syncer::DICTIONARY: |
| 428 return SpellcheckServiceFactory::GetForContext(profile_)-> | 428 return SpellcheckServiceFactory::GetForContext(profile_)-> |
| 429 GetCustomDictionary()->AsWeakPtr(); | 429 GetCustomDictionary()->AsWeakPtr(); |
| 430 #endif | 430 #endif // BUILDFLAG(ENABLE_SPELLCHECK) |
| 431 case syncer::FAVICON_IMAGES: | 431 case syncer::FAVICON_IMAGES: |
| 432 case syncer::FAVICON_TRACKING: { | 432 case syncer::FAVICON_TRACKING: { |
| 433 sync_sessions::FaviconCache* favicons = | 433 sync_sessions::FaviconCache* favicons = |
| 434 ProfileSyncServiceFactory::GetForProfile(profile_)->GetFaviconCache(); | 434 ProfileSyncServiceFactory::GetForProfile(profile_)->GetFaviconCache(); |
| 435 return favicons ? favicons->AsWeakPtr() | 435 return favicons ? favicons->AsWeakPtr() |
| 436 : base::WeakPtr<syncer::SyncableService>(); | 436 : base::WeakPtr<syncer::SyncableService>(); |
| 437 } | 437 } |
| 438 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) | 438 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) |
| 439 case syncer::SUPERVISED_USER_SETTINGS: | 439 case syncer::SUPERVISED_USER_SETTINGS: |
| 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 | 449 #endif // !defined(OS_ANDROID) |
| 450 case syncer::SUPERVISED_USER_WHITELISTS: | 450 case syncer::SUPERVISED_USER_WHITELISTS: |
| 451 return SupervisedUserServiceFactory::GetForProfile(profile_) | 451 return SupervisedUserServiceFactory::GetForProfile(profile_) |
| 452 ->GetWhitelistService() | 452 ->GetWhitelistService() |
| 453 ->AsWeakPtr(); | 453 ->AsWeakPtr(); |
| 454 #endif | 454 #endif // BUILDFLAG(ENABLE_SUPERVISED_USERS) |
| 455 case syncer::ARTICLES: { | 455 case syncer::ARTICLES: { |
| 456 dom_distiller::DomDistillerService* service = | 456 dom_distiller::DomDistillerService* service = |
| 457 dom_distiller::DomDistillerServiceFactory::GetForBrowserContext( | 457 dom_distiller::DomDistillerServiceFactory::GetForBrowserContext( |
| 458 profile_); | 458 profile_); |
| 459 if (service) | 459 if (service) |
| 460 return service->GetSyncableService()->AsWeakPtr(); | 460 return service->GetSyncableService()->AsWeakPtr(); |
| 461 return base::WeakPtr<syncer::SyncableService>(); | 461 return base::WeakPtr<syncer::SyncableService>(); |
| 462 } | 462 } |
| 463 case syncer::SESSIONS: { | 463 case syncer::SESSIONS: { |
| 464 return ProfileSyncServiceFactory::GetForProfile(profile_)-> | 464 return ProfileSyncServiceFactory::GetForProfile(profile_)-> |
| 465 GetSessionsSyncableService()->AsWeakPtr(); | 465 GetSessionsSyncableService()->AsWeakPtr(); |
| 466 } | 466 } |
| 467 case syncer::PASSWORDS: { | 467 case syncer::PASSWORDS: { |
| 468 return password_store_.get() | 468 return password_store_.get() |
| 469 ? password_store_->GetPasswordSyncableService() | 469 ? password_store_->GetPasswordSyncableService() |
| 470 : base::WeakPtr<syncer::SyncableService>(); | 470 : base::WeakPtr<syncer::SyncableService>(); |
| 471 } | 471 } |
| 472 #if defined(OS_CHROMEOS) | 472 #if defined(OS_CHROMEOS) |
| 473 case syncer::WIFI_CREDENTIALS: | 473 case syncer::WIFI_CREDENTIALS: |
| 474 return sync_wifi::WifiCredentialSyncableServiceFactory:: | 474 return sync_wifi::WifiCredentialSyncableServiceFactory:: |
| 475 GetForBrowserContext(profile_) | 475 GetForBrowserContext(profile_) |
| 476 ->AsWeakPtr(); | 476 ->AsWeakPtr(); |
| 477 case syncer::ARC_PACKAGE: | 477 case syncer::ARC_PACKAGE: |
| 478 return arc::ArcPackageSyncableService::Get(profile_)->AsWeakPtr(); | 478 return arc::ArcPackageSyncableService::Get(profile_)->AsWeakPtr(); |
| 479 #endif | 479 #endif // defined(OS_CHROMEOS) |
| 480 default: | 480 default: |
| 481 // The following datatypes still need to be transitioned to the | 481 // The following datatypes still need to be transitioned to the |
| 482 // syncer::SyncableService API: | 482 // syncer::SyncableService API: |
| 483 // Bookmarks | 483 // Bookmarks |
| 484 NOTREACHED(); | 484 NOTREACHED(); |
| 485 return base::WeakPtr<syncer::SyncableService>(); | 485 return base::WeakPtr<syncer::SyncableService>(); |
| 486 } | 486 } |
| 487 } | 487 } |
| 488 | 488 |
| 489 base::WeakPtr<syncer::ModelTypeSyncBridge> | 489 base::WeakPtr<syncer::ModelTypeSyncBridge> |
| 490 ChromeSyncClient::GetSyncBridgeForModelType(syncer::ModelType type) { | 490 ChromeSyncClient::GetSyncBridgeForModelType(syncer::ModelType type) { |
| 491 switch (type) { | 491 switch (type) { |
| 492 case syncer::DEVICE_INFO: | 492 case syncer::DEVICE_INFO: |
| 493 return ProfileSyncServiceFactory::GetForProfile(profile_) | 493 return ProfileSyncServiceFactory::GetForProfile(profile_) |
| 494 ->GetDeviceInfoSyncBridge() | 494 ->GetDeviceInfoSyncBridge() |
| 495 ->AsWeakPtr(); | 495 ->AsWeakPtr(); |
| 496 case syncer::READING_LIST: | 496 case syncer::READING_LIST: |
| 497 // Reading List is only supported on iOS at the moment. | 497 // Reading List is only supported on iOS at the moment. |
| 498 NOTREACHED(); | 498 NOTREACHED(); |
| 499 return base::WeakPtr<syncer::ModelTypeSyncBridge>(); | 499 return base::WeakPtr<syncer::ModelTypeSyncBridge>(); |
| 500 case syncer::AUTOFILL: | 500 case syncer::AUTOFILL: |
| 501 return autofill::AutocompleteSyncBridge::FromWebDataService( | 501 return autofill::AutocompleteSyncBridge::FromWebDataService( |
| 502 web_data_service_.get()); | 502 web_data_service_.get()); |
| 503 #if defined(OS_CHROMEOS) | 503 #if defined(OS_CHROMEOS) |
| 504 case syncer::PRINTERS: | 504 case syncer::PRINTERS: |
| 505 return chromeos::PrintersManagerFactory::GetForBrowserContext(profile_) | 505 return chromeos::PrintersManagerFactory::GetForBrowserContext(profile_) |
| 506 ->GetSyncBridge() | 506 ->GetSyncBridge() |
| 507 ->AsWeakPtr(); | 507 ->AsWeakPtr(); |
| 508 #endif | 508 #endif // defined(OS_CHROMEOS) |
| 509 default: | 509 default: |
| 510 NOTREACHED(); | 510 NOTREACHED(); |
| 511 return base::WeakPtr<syncer::ModelTypeSyncBridge>(); | 511 return base::WeakPtr<syncer::ModelTypeSyncBridge>(); |
| 512 } | 512 } |
| 513 } | 513 } |
| 514 | 514 |
| 515 scoped_refptr<syncer::ModelSafeWorker> | 515 scoped_refptr<syncer::ModelSafeWorker> |
| 516 ChromeSyncClient::CreateModelWorkerForGroup(syncer::ModelSafeGroup group) { | 516 ChromeSyncClient::CreateModelWorkerForGroup(syncer::ModelSafeGroup group) { |
| 517 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 517 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 518 switch (group) { | 518 switch (group) { |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 595 syncer::APPS, error_callback, this, profile_)); | 595 syncer::APPS, error_callback, this, profile_)); |
| 596 } | 596 } |
| 597 | 597 |
| 598 // Extension sync is enabled by default. Register unless explicitly | 598 // Extension sync is enabled by default. Register unless explicitly |
| 599 // disabled. | 599 // disabled. |
| 600 if (!disabled_types.Has(syncer::EXTENSIONS)) { | 600 if (!disabled_types.Has(syncer::EXTENSIONS)) { |
| 601 sync_service->RegisterDataTypeController( | 601 sync_service->RegisterDataTypeController( |
| 602 base::MakeUnique<ExtensionDataTypeController>( | 602 base::MakeUnique<ExtensionDataTypeController>( |
| 603 syncer::EXTENSIONS, error_callback, this, profile_)); | 603 syncer::EXTENSIONS, error_callback, this, profile_)); |
| 604 } | 604 } |
| 605 #endif | 605 #endif // BUILDFLAG(ENABLE_EXTENSIONS) |
| 606 | 606 |
| 607 #if !defined(OS_ANDROID) | 607 #if !defined(OS_ANDROID) |
| 608 // Theme sync is enabled by default. Register unless explicitly disabled. | 608 // Theme sync is enabled by default. Register unless explicitly disabled. |
| 609 if (!disabled_types.Has(syncer::THEMES)) { | 609 if (!disabled_types.Has(syncer::THEMES)) { |
| 610 sync_service->RegisterDataTypeController( | 610 sync_service->RegisterDataTypeController( |
| 611 base::MakeUnique<ThemeDataTypeController>(error_callback, this, | 611 base::MakeUnique<ThemeDataTypeController>(error_callback, this, |
| 612 profile_)); | 612 profile_)); |
| 613 } | 613 } |
| 614 #endif | 614 #endif // !defined(OS_ANDROID) |
| 615 | 615 |
| 616 // Search Engine sync is enabled by default. Register unless explicitly | 616 // Search Engine sync is enabled by default. Register unless explicitly |
| 617 // disabled. | 617 // disabled. |
| 618 if (!disabled_types.Has(syncer::SEARCH_ENGINES)) { | 618 if (!disabled_types.Has(syncer::SEARCH_ENGINES)) { |
| 619 sync_service->RegisterDataTypeController( | 619 sync_service->RegisterDataTypeController( |
| 620 base::MakeUnique<SearchEngineDataTypeController>( | 620 base::MakeUnique<SearchEngineDataTypeController>( |
| 621 error_callback, this, | 621 error_callback, this, |
| 622 TemplateURLServiceFactory::GetForProfile(profile_))); | 622 TemplateURLServiceFactory::GetForProfile(profile_))); |
| 623 } | 623 } |
| 624 | 624 |
| 625 #if BUILDFLAG(ENABLE_EXTENSIONS) | 625 #if BUILDFLAG(ENABLE_EXTENSIONS) |
| 626 // Extension setting sync is enabled by default. Register unless explicitly | 626 // Extension setting sync is enabled by default. Register unless explicitly |
| 627 // disabled. | 627 // disabled. |
| 628 if (!disabled_types.Has(syncer::EXTENSION_SETTINGS)) { | 628 if (!disabled_types.Has(syncer::EXTENSION_SETTINGS)) { |
| 629 sync_service->RegisterDataTypeController( | 629 sync_service->RegisterDataTypeController( |
| 630 base::MakeUnique<ExtensionSettingDataTypeController>( | 630 base::MakeUnique<ExtensionSettingDataTypeController>( |
| 631 syncer::EXTENSION_SETTINGS, error_callback, this, profile_)); | 631 syncer::EXTENSION_SETTINGS, error_callback, this, profile_)); |
| 632 } | 632 } |
| 633 | 633 |
| 634 // App setting sync is enabled by default. Register unless explicitly | 634 // App setting sync is enabled by default. Register unless explicitly |
| 635 // disabled. | 635 // disabled. |
| 636 if (!disabled_types.Has(syncer::APP_SETTINGS)) { | 636 if (!disabled_types.Has(syncer::APP_SETTINGS)) { |
| 637 sync_service->RegisterDataTypeController( | 637 sync_service->RegisterDataTypeController( |
| 638 base::MakeUnique<ExtensionSettingDataTypeController>( | 638 base::MakeUnique<ExtensionSettingDataTypeController>( |
| 639 syncer::APP_SETTINGS, error_callback, this, profile_)); | 639 syncer::APP_SETTINGS, error_callback, this, profile_)); |
| 640 } | 640 } |
| 641 #endif | 641 #endif // BUILDFLAG(ENABLE_EXTENSIONS) |
| 642 | 642 |
| 643 #if BUILDFLAG(ENABLE_APP_LIST) | 643 #if BUILDFLAG(ENABLE_APP_LIST) |
| 644 if (app_list::switches::IsAppListSyncEnabled()) { | 644 if (app_list::switches::IsAppListSyncEnabled()) { |
| 645 sync_service->RegisterDataTypeController( | 645 sync_service->RegisterDataTypeController( |
| 646 base::MakeUnique<AsyncDirectoryTypeController>( | 646 base::MakeUnique<AsyncDirectoryTypeController>( |
| 647 syncer::APP_LIST, error_callback, this, syncer::GROUP_UI, | 647 syncer::APP_LIST, error_callback, this, syncer::GROUP_UI, |
| 648 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI))); | 648 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI))); |
| 649 } | 649 } |
| 650 #endif | 650 #endif // BUILDFLAG(ENABLE_APP_LIST) |
| 651 | 651 |
| 652 #if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS) | 652 #if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS) |
| 653 // Dictionary sync is enabled by default. | 653 // Dictionary sync is enabled by default. |
| 654 if (!disabled_types.Has(syncer::DICTIONARY)) { | 654 if (!disabled_types.Has(syncer::DICTIONARY)) { |
| 655 sync_service->RegisterDataTypeController( | 655 sync_service->RegisterDataTypeController( |
| 656 base::MakeUnique<AsyncDirectoryTypeController>( | 656 base::MakeUnique<AsyncDirectoryTypeController>( |
| 657 syncer::DICTIONARY, error_callback, this, syncer::GROUP_UI, | 657 syncer::DICTIONARY, error_callback, this, syncer::GROUP_UI, |
| 658 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI))); | 658 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI))); |
| 659 } | 659 } |
| 660 #endif | 660 #endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS) |
| 661 | 661 |
| 662 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) | 662 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) |
| 663 sync_service->RegisterDataTypeController( | 663 sync_service->RegisterDataTypeController( |
| 664 base::MakeUnique<SupervisedUserSyncDataTypeController>( | 664 base::MakeUnique<SupervisedUserSyncDataTypeController>( |
| 665 syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_)); | 665 syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_)); |
| 666 sync_service->RegisterDataTypeController( | 666 sync_service->RegisterDataTypeController( |
| 667 base::MakeUnique<SupervisedUserSyncDataTypeController>( | 667 base::MakeUnique<SupervisedUserSyncDataTypeController>( |
| 668 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); | 668 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); |
| 669 sync_service->RegisterDataTypeController( | 669 sync_service->RegisterDataTypeController( |
| 670 base::MakeUnique<SupervisedUserSyncDataTypeController>( | 670 base::MakeUnique<SupervisedUserSyncDataTypeController>( |
| 671 syncer::SUPERVISED_USERS, error_callback, this, profile_)); | 671 syncer::SUPERVISED_USERS, error_callback, this, profile_)); |
| 672 sync_service->RegisterDataTypeController( | 672 sync_service->RegisterDataTypeController( |
| 673 base::MakeUnique<SupervisedUserSyncDataTypeController>( | 673 base::MakeUnique<SupervisedUserSyncDataTypeController>( |
| 674 syncer::SUPERVISED_USER_SHARED_SETTINGS, error_callback, this, | 674 syncer::SUPERVISED_USER_SHARED_SETTINGS, error_callback, this, |
| 675 profile_)); | 675 profile_)); |
| 676 #endif | 676 #endif // BUILDFLAG(ENABLE_SUPERVISED_USERS) |
| 677 | 677 |
| 678 #if defined(OS_CHROMEOS) | 678 #if defined(OS_CHROMEOS) |
| 679 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 679 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 680 switches::kEnableWifiCredentialSync) && | 680 switches::kEnableWifiCredentialSync) && |
| 681 !disabled_types.Has(syncer::WIFI_CREDENTIALS)) { | 681 !disabled_types.Has(syncer::WIFI_CREDENTIALS)) { |
| 682 sync_service->RegisterDataTypeController( | 682 sync_service->RegisterDataTypeController( |
| 683 base::MakeUnique<AsyncDirectoryTypeController>( | 683 base::MakeUnique<AsyncDirectoryTypeController>( |
| 684 syncer::WIFI_CREDENTIALS, error_callback, this, syncer::GROUP_UI, | 684 syncer::WIFI_CREDENTIALS, error_callback, this, syncer::GROUP_UI, |
| 685 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI))); | 685 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI))); |
| 686 } | 686 } |
| 687 if (arc::IsArcAllowedForProfile(profile_)) { | 687 if (arc::IsArcAllowedForProfile(profile_)) { |
| 688 sync_service->RegisterDataTypeController( | 688 sync_service->RegisterDataTypeController( |
| 689 base::MakeUnique<ArcPackageSyncDataTypeController>( | 689 base::MakeUnique<ArcPackageSyncDataTypeController>( |
| 690 syncer::ARC_PACKAGE, error_callback, this, profile_)); | 690 syncer::ARC_PACKAGE, error_callback, this, profile_)); |
| 691 } | 691 } |
| 692 #endif | 692 #endif // defined(OS_CHROMEOS) |
| 693 } | 693 } |
| 694 | 694 |
| 695 void ChromeSyncClient::RegisterAndroidDataTypes( | 695 void ChromeSyncClient::RegisterAndroidDataTypes( |
| 696 syncer::SyncService* sync_service, | 696 syncer::SyncService* sync_service, |
| 697 syncer::ModelTypeSet disabled_types, | 697 syncer::ModelTypeSet disabled_types, |
| 698 syncer::ModelTypeSet enabled_types) { | 698 syncer::ModelTypeSet enabled_types) { |
| 699 base::Closure error_callback = | 699 base::Closure error_callback = |
| 700 base::Bind(&syncer::ReportUnrecoverableError, chrome::GetChannel()); | 700 base::Bind(&syncer::ReportUnrecoverableError, chrome::GetChannel()); |
| 701 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) | 701 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) |
| 702 sync_service->RegisterDataTypeController( | 702 sync_service->RegisterDataTypeController( |
| 703 base::MakeUnique<SupervisedUserSyncDataTypeController>( | 703 base::MakeUnique<SupervisedUserSyncDataTypeController>( |
| 704 syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_)); | 704 syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_)); |
| 705 sync_service->RegisterDataTypeController( | 705 sync_service->RegisterDataTypeController( |
| 706 base::MakeUnique<SupervisedUserSyncDataTypeController>( | 706 base::MakeUnique<SupervisedUserSyncDataTypeController>( |
| 707 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); | 707 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); |
| 708 #endif | 708 #endif // BUILDFLAG(ENABLE_SUPERVISED_USERS) |
| 709 } | 709 } |
| 710 | 710 |
| 711 } // namespace browser_sync | 711 } // namespace browser_sync |
| OLD | NEW |