| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "components/browser_sync/profile_sync_components_factory_impl.h" | 5 #include "components/browser_sync/profile_sync_components_factory_impl.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/feature_list.h" | 10 #include "base/feature_list.h" |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 #include "components/sync/driver/ui_model_type_controller.h" | 42 #include "components/sync/driver/ui_model_type_controller.h" |
| 43 #include "components/sync_bookmarks/bookmark_change_processor.h" | 43 #include "components/sync_bookmarks/bookmark_change_processor.h" |
| 44 #include "components/sync_bookmarks/bookmark_data_type_controller.h" | 44 #include "components/sync_bookmarks/bookmark_data_type_controller.h" |
| 45 #include "components/sync_bookmarks/bookmark_model_associator.h" | 45 #include "components/sync_bookmarks/bookmark_model_associator.h" |
| 46 #include "components/sync_sessions/session_data_type_controller.h" | 46 #include "components/sync_sessions/session_data_type_controller.h" |
| 47 #include "google_apis/gaia/oauth2_token_service.h" | 47 #include "google_apis/gaia/oauth2_token_service.h" |
| 48 #include "google_apis/gaia/oauth2_token_service_request.h" | 48 #include "google_apis/gaia/oauth2_token_service_request.h" |
| 49 #include "net/url_request/url_request_context_getter.h" | 49 #include "net/url_request/url_request_context_getter.h" |
| 50 | 50 |
| 51 using bookmarks::BookmarkModel; | 51 using bookmarks::BookmarkModel; |
| 52 using browser_sync::AutofillDataTypeController; | |
| 53 using browser_sync::AutofillProfileDataTypeController; | |
| 54 using browser_sync::ChromeReportUnrecoverableError; | |
| 55 using browser_sync::HistoryDeleteDirectivesDataTypeController; | |
| 56 using browser_sync::PasswordDataTypeController; | |
| 57 using browser_sync::SyncBackendHost; | |
| 58 using browser_sync::TypedUrlDataTypeController; | |
| 59 using sync_bookmarks::BookmarkChangeProcessor; | 52 using sync_bookmarks::BookmarkChangeProcessor; |
| 60 using sync_bookmarks::BookmarkDataTypeController; | 53 using sync_bookmarks::BookmarkDataTypeController; |
| 61 using sync_bookmarks::BookmarkModelAssociator; | 54 using sync_bookmarks::BookmarkModelAssociator; |
| 62 using sync_driver::DataTypeController; | 55 using sync_driver::DataTypeController; |
| 63 using sync_driver::DataTypeManager; | 56 using sync_driver::DataTypeManager; |
| 64 using sync_driver::DataTypeManagerImpl; | 57 using sync_driver::DataTypeManagerImpl; |
| 65 using sync_driver::DataTypeManagerObserver; | 58 using sync_driver::DataTypeManagerObserver; |
| 66 using sync_driver::DeviceInfoDataTypeController; | 59 using sync_driver::DeviceInfoDataTypeController; |
| 67 using sync_driver::ProxyDataTypeController; | 60 using sync_driver::ProxyDataTypeController; |
| 68 using sync_driver::UIDataTypeController; | 61 using sync_driver::UIDataTypeController; |
| 69 using sync_driver_v2::UIModelTypeController; | 62 using sync_driver_v2::UIModelTypeController; |
| 70 using sync_sessions::SessionDataTypeController; | 63 using sync_sessions::SessionDataTypeController; |
| 71 | 64 |
| 65 namespace browser_sync { |
| 66 |
| 72 namespace { | 67 namespace { |
| 73 | 68 |
| 74 syncer::ModelTypeSet GetDisabledTypesFromCommandLine( | 69 syncer::ModelTypeSet GetDisabledTypesFromCommandLine( |
| 75 const base::CommandLine& command_line) { | 70 const base::CommandLine& command_line) { |
| 76 syncer::ModelTypeSet disabled_types; | 71 syncer::ModelTypeSet disabled_types; |
| 77 std::string disabled_types_str = | 72 std::string disabled_types_str = |
| 78 command_line.GetSwitchValueASCII(switches::kDisableSyncTypes); | 73 command_line.GetSwitchValueASCII(switches::kDisableSyncTypes); |
| 79 | 74 |
| 80 disabled_types = syncer::ModelTypeSetFromString(disabled_types_str); | 75 disabled_types = syncer::ModelTypeSetFromString(disabled_types_str); |
| 81 return disabled_types; | 76 return disabled_types; |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 sync_service->RegisterDataTypeController( | 170 sync_service->RegisterDataTypeController( |
| 176 base::MakeUnique<AutofillProfileDataTypeController>( | 171 base::MakeUnique<AutofillProfileDataTypeController>( |
| 177 db_thread_, error_callback, sync_client_, web_data_service_)); | 172 db_thread_, error_callback, sync_client_, web_data_service_)); |
| 178 } | 173 } |
| 179 | 174 |
| 180 // Wallet data sync is enabled by default, but behind a syncer experiment | 175 // Wallet data sync is enabled by default, but behind a syncer experiment |
| 181 // enforced by the datatype controller. Register unless explicitly disabled. | 176 // enforced by the datatype controller. Register unless explicitly disabled. |
| 182 bool wallet_disabled = disabled_types.Has(syncer::AUTOFILL_WALLET_DATA); | 177 bool wallet_disabled = disabled_types.Has(syncer::AUTOFILL_WALLET_DATA); |
| 183 if (!wallet_disabled) { | 178 if (!wallet_disabled) { |
| 184 sync_service->RegisterDataTypeController( | 179 sync_service->RegisterDataTypeController( |
| 185 base::MakeUnique<browser_sync::AutofillWalletDataTypeController>( | 180 base::MakeUnique<AutofillWalletDataTypeController>( |
| 186 syncer::AUTOFILL_WALLET_DATA, db_thread_, error_callback, | 181 syncer::AUTOFILL_WALLET_DATA, db_thread_, error_callback, |
| 187 sync_client_, web_data_service_)); | 182 sync_client_, web_data_service_)); |
| 188 } | 183 } |
| 189 | 184 |
| 190 // Wallet metadata sync depends on Wallet data sync. Register if Wallet data | 185 // Wallet metadata sync depends on Wallet data sync. Register if Wallet data |
| 191 // is syncing and metadata sync is not explicitly disabled. | 186 // is syncing and metadata sync is not explicitly disabled. |
| 192 if (!wallet_disabled && | 187 if (!wallet_disabled && |
| 193 !disabled_types.Has(syncer::AUTOFILL_WALLET_METADATA)) { | 188 !disabled_types.Has(syncer::AUTOFILL_WALLET_METADATA)) { |
| 194 sync_service->RegisterDataTypeController( | 189 sync_service->RegisterDataTypeController( |
| 195 base::MakeUnique<browser_sync::AutofillWalletDataTypeController>( | 190 base::MakeUnique<AutofillWalletDataTypeController>( |
| 196 syncer::AUTOFILL_WALLET_METADATA, db_thread_, error_callback, | 191 syncer::AUTOFILL_WALLET_METADATA, db_thread_, error_callback, |
| 197 sync_client_, web_data_service_)); | 192 sync_client_, web_data_service_)); |
| 198 } | 193 } |
| 199 | 194 |
| 200 // Bookmark sync is enabled by default. Register unless explicitly | 195 // Bookmark sync is enabled by default. Register unless explicitly |
| 201 // disabled. | 196 // disabled. |
| 202 if (!disabled_types.Has(syncer::BOOKMARKS)) { | 197 if (!disabled_types.Has(syncer::BOOKMARKS)) { |
| 203 sync_service->RegisterDataTypeController( | 198 sync_service->RegisterDataTypeController( |
| 204 base::MakeUnique<BookmarkDataTypeController>(error_callback, | 199 base::MakeUnique<BookmarkDataTypeController>(error_callback, |
| 205 sync_client_)); | 200 sync_client_)); |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 289 const syncer::WeakHandle<syncer::DataTypeDebugInfoListener>& | 284 const syncer::WeakHandle<syncer::DataTypeDebugInfoListener>& |
| 290 debug_info_listener, | 285 debug_info_listener, |
| 291 const DataTypeController::TypeMap* controllers, | 286 const DataTypeController::TypeMap* controllers, |
| 292 const sync_driver::DataTypeEncryptionHandler* encryption_handler, | 287 const sync_driver::DataTypeEncryptionHandler* encryption_handler, |
| 293 SyncBackendHost* backend, | 288 SyncBackendHost* backend, |
| 294 DataTypeManagerObserver* observer) { | 289 DataTypeManagerObserver* observer) { |
| 295 return new DataTypeManagerImpl(debug_info_listener, controllers, | 290 return new DataTypeManagerImpl(debug_info_listener, controllers, |
| 296 encryption_handler, backend, observer); | 291 encryption_handler, backend, observer); |
| 297 } | 292 } |
| 298 | 293 |
| 299 browser_sync::SyncBackendHost* | 294 SyncBackendHost* ProfileSyncComponentsFactoryImpl::CreateSyncBackendHost( |
| 300 ProfileSyncComponentsFactoryImpl::CreateSyncBackendHost( | |
| 301 const std::string& name, | 295 const std::string& name, |
| 302 invalidation::InvalidationService* invalidator, | 296 invalidation::InvalidationService* invalidator, |
| 303 const base::WeakPtr<sync_driver::SyncPrefs>& sync_prefs, | 297 const base::WeakPtr<sync_driver::SyncPrefs>& sync_prefs, |
| 304 const base::FilePath& sync_folder) { | 298 const base::FilePath& sync_folder) { |
| 305 return new browser_sync::SyncBackendHostImpl( | 299 return new SyncBackendHostImpl(name, sync_client_, ui_thread_, invalidator, |
| 306 name, sync_client_, ui_thread_, invalidator, sync_prefs, sync_folder); | 300 sync_prefs, sync_folder); |
| 307 } | 301 } |
| 308 | 302 |
| 309 std::unique_ptr<sync_driver::LocalDeviceInfoProvider> | 303 std::unique_ptr<sync_driver::LocalDeviceInfoProvider> |
| 310 ProfileSyncComponentsFactoryImpl::CreateLocalDeviceInfoProvider() { | 304 ProfileSyncComponentsFactoryImpl::CreateLocalDeviceInfoProvider() { |
| 311 return base::MakeUnique<browser_sync::LocalDeviceInfoProviderImpl>( | 305 return base::MakeUnique<LocalDeviceInfoProviderImpl>(channel_, version_, |
| 312 channel_, version_, is_tablet_); | 306 is_tablet_); |
| 313 } | 307 } |
| 314 | 308 |
| 315 class TokenServiceProvider | 309 class TokenServiceProvider |
| 316 : public OAuth2TokenServiceRequest::TokenServiceProvider { | 310 : public OAuth2TokenServiceRequest::TokenServiceProvider { |
| 317 public: | 311 public: |
| 318 TokenServiceProvider( | 312 TokenServiceProvider( |
| 319 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, | 313 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, |
| 320 OAuth2TokenService* token_service); | 314 OAuth2TokenService* token_service); |
| 321 | 315 |
| 322 // OAuth2TokenServiceRequest::TokenServiceProvider implementation. | 316 // OAuth2TokenServiceRequest::TokenServiceProvider implementation. |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 419 return SyncComponents(model_associator, change_processor); | 413 return SyncComponents(model_associator, change_processor); |
| 420 } | 414 } |
| 421 | 415 |
| 422 // static | 416 // static |
| 423 void ProfileSyncComponentsFactoryImpl::OverridePrefsForUssTest(bool use_uss) { | 417 void ProfileSyncComponentsFactoryImpl::OverridePrefsForUssTest(bool use_uss) { |
| 424 override_prefs_controller_to_uss_for_test_ = use_uss; | 418 override_prefs_controller_to_uss_for_test_ = use_uss; |
| 425 } | 419 } |
| 426 | 420 |
| 427 bool ProfileSyncComponentsFactoryImpl:: | 421 bool ProfileSyncComponentsFactoryImpl:: |
| 428 override_prefs_controller_to_uss_for_test_ = false; | 422 override_prefs_controller_to_uss_for_test_ = false; |
| 423 |
| 424 } // namespace browser_sync |
| OLD | NEW |