Index: components/browser_sync/browser/profile_sync_components_factory_impl.cc |
diff --git a/components/browser_sync/browser/profile_sync_components_factory_impl.cc b/components/browser_sync/browser/profile_sync_components_factory_impl.cc |
index 8f5bae7a9744bf3315fec423114b4d5f94320bd8..a96b1ee316a87c30d338d15631f9a877aa4d3bb8 100644 |
--- a/components/browser_sync/browser/profile_sync_components_factory_impl.cc |
+++ b/components/browser_sync/browser/profile_sync_components_factory_impl.cc |
@@ -61,7 +61,6 @@ using browser_sync::SessionDataTypeController; |
using browser_sync::SyncBackendHost; |
using browser_sync::TypedUrlDataTypeController; |
using sync_driver::DataTypeController; |
-using syncer::DataTypeErrorHandler; |
using sync_driver::DataTypeManager; |
using sync_driver::DataTypeManagerImpl; |
using sync_driver::DataTypeManagerObserver; |
@@ -153,29 +152,30 @@ void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes( |
// TODO(stanisc): can DEVICE_INFO be one of disabled datatypes? |
if (channel_ == version_info::Channel::UNKNOWN && |
command_line_.HasSwitch(switches::kSyncEnableUSSDeviceInfo)) { |
- sync_service->RegisterDataTypeController(new UIModelTypeController( |
- ui_thread_, error_callback, syncer::DEVICE_INFO, sync_client_)); |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<UIModelTypeController>(syncer::DEVICE_INFO, |
+ error_callback, sync_client_)); |
} else { |
- sync_service->RegisterDataTypeController(new DeviceInfoDataTypeController( |
- ui_thread_, error_callback, sync_client_, |
- sync_service->GetLocalDeviceInfoProvider())); |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<DeviceInfoDataTypeController>( |
+ error_callback, sync_client_, |
+ sync_service->GetLocalDeviceInfoProvider())); |
} |
// Autofill sync is enabled by default. Register unless explicitly |
// disabled. |
if (!disabled_types.Has(syncer::AUTOFILL)) { |
sync_service->RegisterDataTypeController( |
- new AutofillDataTypeController(ui_thread_, db_thread_, error_callback, |
- sync_client_, web_data_service_)); |
+ base::MakeUnique<AutofillDataTypeController>( |
+ db_thread_, error_callback, sync_client_, web_data_service_)); |
} |
// Autofill profile sync is enabled by default. Register unless explicitly |
// disabled. |
if (!disabled_types.Has(syncer::AUTOFILL_PROFILE)) { |
sync_service->RegisterDataTypeController( |
- new AutofillProfileDataTypeController(ui_thread_, db_thread_, |
- error_callback, sync_client_, |
- web_data_service_)); |
+ base::MakeUnique<AutofillProfileDataTypeController>( |
+ db_thread_, error_callback, sync_client_, web_data_service_)); |
} |
// Wallet data sync is enabled by default, but behind a syncer experiment |
@@ -183,9 +183,9 @@ void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes( |
bool wallet_disabled = disabled_types.Has(syncer::AUTOFILL_WALLET_DATA); |
if (!wallet_disabled) { |
sync_service->RegisterDataTypeController( |
- new browser_sync::AutofillWalletDataTypeController( |
- ui_thread_, db_thread_, error_callback, sync_client_, |
- syncer::AUTOFILL_WALLET_DATA, web_data_service_)); |
+ base::MakeUnique<browser_sync::AutofillWalletDataTypeController>( |
+ syncer::AUTOFILL_WALLET_DATA, db_thread_, error_callback, |
+ sync_client_, web_data_service_)); |
} |
// Wallet metadata sync depends on Wallet data sync. Register if Wallet data |
@@ -193,16 +193,17 @@ void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes( |
if (!wallet_disabled && |
!disabled_types.Has(syncer::AUTOFILL_WALLET_METADATA)) { |
sync_service->RegisterDataTypeController( |
- new browser_sync::AutofillWalletDataTypeController( |
- ui_thread_, db_thread_, error_callback, sync_client_, |
- syncer::AUTOFILL_WALLET_METADATA, web_data_service_)); |
+ base::MakeUnique<browser_sync::AutofillWalletDataTypeController>( |
+ syncer::AUTOFILL_WALLET_METADATA, db_thread_, error_callback, |
+ sync_client_, web_data_service_)); |
} |
// Bookmark sync is enabled by default. Register unless explicitly |
// disabled. |
if (!disabled_types.Has(syncer::BOOKMARKS)) { |
- sync_service->RegisterDataTypeController(new BookmarkDataTypeController( |
- ui_thread_, error_callback, sync_client_)); |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<BookmarkDataTypeController>(error_callback, |
+ sync_client_)); |
} |
const bool history_disabled = |
@@ -210,8 +211,9 @@ void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes( |
// TypedUrl sync is enabled by default. Register unless explicitly disabled, |
// or if saving history is disabled. |
if (!disabled_types.Has(syncer::TYPED_URLS) && !history_disabled) { |
- sync_service->RegisterDataTypeController(new TypedUrlDataTypeController( |
- ui_thread_, error_callback, sync_client_, history_disabled_pref_)); |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<TypedUrlDataTypeController>( |
+ error_callback, sync_client_, history_disabled_pref_)); |
} |
// Delete directive sync is enabled by default. Register unless full history |
@@ -219,8 +221,8 @@ void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes( |
if (!disabled_types.Has(syncer::HISTORY_DELETE_DIRECTIVES) && |
!history_disabled) { |
sync_service->RegisterDataTypeController( |
- new HistoryDeleteDirectivesDataTypeController( |
- ui_thread_, error_callback, sync_client_)); |
+ base::MakeUnique<HistoryDeleteDirectivesDataTypeController>( |
+ error_callback, sync_client_)); |
} |
// Session sync is enabled by default. Register unless explicitly disabled. |
@@ -228,46 +230,53 @@ void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes( |
// tab sync data is added to the web history on the server. |
if (!disabled_types.Has(syncer::PROXY_TABS) && !history_disabled) { |
sync_service->RegisterDataTypeController( |
- new ProxyDataTypeController(ui_thread_, syncer::PROXY_TABS)); |
- sync_service->RegisterDataTypeController(new SessionDataTypeController( |
- ui_thread_, error_callback, sync_client_, |
- sync_service->GetLocalDeviceInfoProvider(), history_disabled_pref_)); |
+ base::MakeUnique<ProxyDataTypeController>(syncer::PROXY_TABS)); |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<SessionDataTypeController>( |
+ error_callback, sync_client_, |
+ sync_service->GetLocalDeviceInfoProvider(), |
+ history_disabled_pref_)); |
} |
// Favicon sync is enabled by default. Register unless explicitly disabled. |
if (!disabled_types.Has(syncer::FAVICON_IMAGES) && |
!disabled_types.Has(syncer::FAVICON_TRACKING) && !history_disabled) { |
// crbug/384552. We disable error uploading for this data types for now. |
- sync_service->RegisterDataTypeController(new UIDataTypeController( |
- ui_thread_, base::Closure(), syncer::FAVICON_IMAGES, sync_client_)); |
- sync_service->RegisterDataTypeController(new UIDataTypeController( |
- ui_thread_, base::Closure(), syncer::FAVICON_TRACKING, sync_client_)); |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<UIDataTypeController>(syncer::FAVICON_IMAGES, |
+ base::Closure(), sync_client_)); |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<UIDataTypeController>(syncer::FAVICON_TRACKING, |
+ base::Closure(), sync_client_)); |
} |
// Password sync is enabled by default. Register unless explicitly |
// disabled. |
if (!disabled_types.Has(syncer::PASSWORDS)) { |
- sync_service->RegisterDataTypeController(new PasswordDataTypeController( |
- ui_thread_, error_callback, sync_client_, |
- sync_client_->GetPasswordStateChangedCallback(), password_store_)); |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<PasswordDataTypeController>( |
+ error_callback, sync_client_, |
+ sync_client_->GetPasswordStateChangedCallback(), password_store_)); |
} |
if (!disabled_types.Has(syncer::PREFERENCES) && |
base::FeatureList::IsEnabled(kSyncPreferencesFeature)) { |
- sync_service->RegisterDataTypeController(new UIDataTypeController( |
- ui_thread_, error_callback, syncer::PREFERENCES, sync_client_)); |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<UIDataTypeController>(syncer::PREFERENCES, |
+ error_callback, sync_client_)); |
} |
if (!disabled_types.Has(syncer::PRIORITY_PREFERENCES)) { |
sync_service->RegisterDataTypeController( |
- new UIDataTypeController(ui_thread_, error_callback, |
- syncer::PRIORITY_PREFERENCES, sync_client_)); |
+ base::MakeUnique<UIDataTypeController>(syncer::PRIORITY_PREFERENCES, |
+ error_callback, sync_client_)); |
} |
// Article sync is disabled by default. Register only if explicitly enabled. |
if (dom_distiller::IsEnableSyncArticlesSet()) { |
- sync_service->RegisterDataTypeController(new UIDataTypeController( |
- ui_thread_, error_callback, syncer::ARTICLES, sync_client_)); |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<UIDataTypeController>(syncer::ARTICLES, error_callback, |
+ sync_client_)); |
} |
} |
@@ -386,7 +395,7 @@ ProfileSyncComponentsFactoryImpl::CreateAttachmentService( |
sync_driver::SyncApiComponentFactory::SyncComponents |
ProfileSyncComponentsFactoryImpl::CreateBookmarkSyncComponents( |
sync_driver::SyncService* sync_service, |
- syncer::DataTypeErrorHandler* error_handler) { |
+ std::unique_ptr<syncer::DataTypeErrorHandler> error_handler) { |
BookmarkModel* bookmark_model = |
sync_service->GetSyncClient()->GetBookmarkModel(); |
syncer::UserShare* user_share = sync_service->GetUserShare(); |
@@ -397,9 +406,10 @@ ProfileSyncComponentsFactoryImpl::CreateBookmarkSyncComponents( |
const bool kExpectMobileBookmarksFolder = false; |
#endif |
BookmarkModelAssociator* model_associator = new BookmarkModelAssociator( |
- bookmark_model, sync_service->GetSyncClient(), user_share, error_handler, |
- kExpectMobileBookmarksFolder); |
- BookmarkChangeProcessor* change_processor = new BookmarkChangeProcessor( |
- sync_service->GetSyncClient(), model_associator, error_handler); |
+ bookmark_model, sync_service->GetSyncClient(), user_share, |
+ error_handler->Copy(), kExpectMobileBookmarksFolder); |
+ BookmarkChangeProcessor* change_processor = |
+ new BookmarkChangeProcessor(sync_service->GetSyncClient(), |
+ model_associator, std::move(error_handler)); |
return SyncComponents(model_associator, change_processor); |
} |