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

Unified Diff: components/browser_sync/browser/profile_sync_components_factory_impl.cc

Issue 2289143003: [Sync] Convert DTCs to be not RefCounted and NonThreadSafe. (Closed)
Patch Set: Rebase. Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698