Index: chrome/browser/sync/chrome_sync_client.cc |
diff --git a/chrome/browser/sync/chrome_sync_client.cc b/chrome/browser/sync/chrome_sync_client.cc |
index 56882d9d80f0b8ec6631e8bcf777eaa75736fe59..47c276048ce952267e7e9ee275900901681c6337 100644 |
--- a/chrome/browser/sync/chrome_sync_client.cc |
+++ b/chrome/browser/sync/chrome_sync_client.cc |
@@ -4,6 +4,7 @@ |
#include "chrome/browser/sync/chrome_sync_client.h" |
+#include <memory> |
#include <utility> |
#include "base/bind.h" |
@@ -513,22 +514,22 @@ void ChromeSyncClient::RegisterDesktopDataTypes( |
syncer::ModelTypeSet enabled_types) { |
base::Closure error_callback = |
base::Bind(&ChromeReportUnrecoverableError, chrome::GetChannel()); |
- const scoped_refptr<base::SingleThreadTaskRunner> ui_thread = |
- BrowserThread::GetTaskRunnerForThread(BrowserThread::UI); |
#if defined(ENABLE_EXTENSIONS) |
// App sync is enabled by default. Register unless explicitly |
// disabled. |
if (!disabled_types.Has(syncer::APPS)) { |
- sync_service->RegisterDataTypeController(new ExtensionDataTypeController( |
- syncer::APPS, error_callback, this, profile_)); |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<ExtensionDataTypeController>( |
+ syncer::APPS, error_callback, this, profile_)); |
} |
// Extension sync is enabled by default. Register unless explicitly |
// disabled. |
if (!disabled_types.Has(syncer::EXTENSIONS)) { |
- sync_service->RegisterDataTypeController(new ExtensionDataTypeController( |
- syncer::EXTENSIONS, error_callback, this, profile_)); |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<ExtensionDataTypeController>( |
+ syncer::EXTENSIONS, error_callback, this, profile_)); |
} |
#endif |
@@ -536,16 +537,18 @@ void ChromeSyncClient::RegisterDesktopDataTypes( |
// Theme sync is enabled by default. Register unless explicitly disabled. |
if (!disabled_types.Has(syncer::THEMES)) { |
sync_service->RegisterDataTypeController( |
- new ThemeDataTypeController(error_callback, this, profile_)); |
+ base::MakeUnique<ThemeDataTypeController>(error_callback, this, |
+ profile_)); |
} |
#endif |
// Search Engine sync is enabled by default. Register unless explicitly |
// disabled. |
if (!disabled_types.Has(syncer::SEARCH_ENGINES)) { |
- sync_service->RegisterDataTypeController(new SearchEngineDataTypeController( |
- ui_thread, error_callback, this, |
- TemplateURLServiceFactory::GetForProfile(profile_))); |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<SearchEngineDataTypeController>( |
+ error_callback, this, |
+ TemplateURLServiceFactory::GetForProfile(profile_))); |
} |
#if defined(ENABLE_EXTENSIONS) |
@@ -553,46 +556,48 @@ void ChromeSyncClient::RegisterDesktopDataTypes( |
// disabled. |
if (!disabled_types.Has(syncer::EXTENSION_SETTINGS)) { |
sync_service->RegisterDataTypeController( |
- new ExtensionSettingDataTypeController(syncer::EXTENSION_SETTINGS, |
- error_callback, this, profile_)); |
+ base::MakeUnique<ExtensionSettingDataTypeController>( |
+ syncer::EXTENSION_SETTINGS, error_callback, this, profile_)); |
} |
// App setting sync is enabled by default. Register unless explicitly |
// disabled. |
if (!disabled_types.Has(syncer::APP_SETTINGS)) { |
sync_service->RegisterDataTypeController( |
- new ExtensionSettingDataTypeController(syncer::APP_SETTINGS, |
- error_callback, this, profile_)); |
+ base::MakeUnique<ExtensionSettingDataTypeController>( |
+ syncer::APP_SETTINGS, error_callback, this, profile_)); |
} |
#endif |
#if defined(ENABLE_APP_LIST) |
if (app_list::switches::IsAppListSyncEnabled()) { |
- sync_service->RegisterDataTypeController(new UIDataTypeController( |
- ui_thread, error_callback, syncer::APP_LIST, this)); |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<UIDataTypeController>(syncer::APP_LIST, error_callback, |
+ this)); |
} |
#endif |
#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS) |
// Dictionary sync is enabled by default. |
if (!disabled_types.Has(syncer::DICTIONARY)) { |
- sync_service->RegisterDataTypeController(new UIDataTypeController( |
- ui_thread, error_callback, syncer::DICTIONARY, this)); |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<UIDataTypeController>(syncer::DICTIONARY, |
+ error_callback, this)); |
} |
#endif |
#if defined(ENABLE_SUPERVISED_USERS) |
sync_service->RegisterDataTypeController( |
- new SupervisedUserSyncDataTypeController(syncer::SUPERVISED_USER_SETTINGS, |
- error_callback, this, profile_)); |
+ base::MakeUnique<SupervisedUserSyncDataTypeController>( |
+ syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_)); |
sync_service->RegisterDataTypeController( |
- new SupervisedUserSyncDataTypeController( |
+ base::MakeUnique<SupervisedUserSyncDataTypeController>( |
syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); |
sync_service->RegisterDataTypeController( |
- new SupervisedUserSyncDataTypeController(syncer::SUPERVISED_USERS, |
- error_callback, this, profile_)); |
+ base::MakeUnique<SupervisedUserSyncDataTypeController>( |
+ syncer::SUPERVISED_USERS, error_callback, this, profile_)); |
sync_service->RegisterDataTypeController( |
- new SupervisedUserSyncDataTypeController( |
+ base::MakeUnique<SupervisedUserSyncDataTypeController>( |
syncer::SUPERVISED_USER_SHARED_SETTINGS, error_callback, this, |
profile_)); |
#endif |
@@ -601,12 +606,14 @@ void ChromeSyncClient::RegisterDesktopDataTypes( |
if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
switches::kEnableWifiCredentialSync) && |
!disabled_types.Has(syncer::WIFI_CREDENTIALS)) { |
- sync_service->RegisterDataTypeController(new UIDataTypeController( |
- ui_thread, error_callback, syncer::WIFI_CREDENTIALS, this)); |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<UIDataTypeController>(syncer::WIFI_CREDENTIALS, |
+ error_callback, this)); |
} |
- // TODO (lgcheng@) Add switch for this. |
- sync_service->RegisterDataTypeController(new ArcPackageSyncDataTypeController( |
- syncer::ARC_PACKAGE, error_callback, this, profile_)); |
+ // TODO(lgcheng): Add switch for this. |
+ sync_service->RegisterDataTypeController( |
+ base::MakeUnique<ArcPackageSyncDataTypeController>( |
+ syncer::ARC_PACKAGE, error_callback, this, profile_)); |
#endif |
} |
@@ -618,10 +625,10 @@ void ChromeSyncClient::RegisterAndroidDataTypes( |
base::Bind(&ChromeReportUnrecoverableError, chrome::GetChannel()); |
#if defined(ENABLE_SUPERVISED_USERS) |
sync_service->RegisterDataTypeController( |
- new SupervisedUserSyncDataTypeController(syncer::SUPERVISED_USER_SETTINGS, |
- error_callback, this, profile_)); |
+ base::MakeUnique<SupervisedUserSyncDataTypeController>( |
+ syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_)); |
sync_service->RegisterDataTypeController( |
- new SupervisedUserSyncDataTypeController( |
+ base::MakeUnique<SupervisedUserSyncDataTypeController>( |
syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); |
#endif |
} |