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

Side by Side Diff: chrome/browser/sync/chrome_sync_client.cc

Issue 2768923005: [Sync] Adding missing DependsOn to *ProfileSyncServiceFactory. (Closed)
Patch Set: Added crbug. Created 3 years, 8 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 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
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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/supervised_user/supervised_user_service_factory.cc ('k') | chrome/browser/sync/profile_sync_service_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698