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/debug/dump_without_crashing.h" | 9 #include "base/debug/dump_without_crashing.h" |
10 #include "base/feature_list.h" | 10 #include "base/feature_list.h" |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 sync_bookmarks::BookmarkChangeProcessor; | 52 using sync_bookmarks::BookmarkChangeProcessor; |
53 using sync_bookmarks::BookmarkDataTypeController; | 53 using sync_bookmarks::BookmarkDataTypeController; |
54 using sync_bookmarks::BookmarkModelAssociator; | 54 using sync_bookmarks::BookmarkModelAssociator; |
55 using sync_driver::DataTypeController; | 55 using syncer::DataTypeController; |
56 using sync_driver::DataTypeManager; | 56 using syncer::DataTypeManager; |
57 using sync_driver::DataTypeManagerImpl; | 57 using syncer::DataTypeManagerImpl; |
58 using sync_driver::DataTypeManagerObserver; | 58 using syncer::DataTypeManagerObserver; |
59 using sync_driver::DeviceInfoDataTypeController; | 59 using syncer::DeviceInfoDataTypeController; |
60 using sync_driver::ProxyDataTypeController; | 60 using syncer::ProxyDataTypeController; |
61 using sync_driver::UIDataTypeController; | 61 using syncer::UIDataTypeController; |
62 using sync_driver_v2::UIModelTypeController; | 62 using syncer::UIModelTypeController; |
63 using sync_sessions::SessionDataTypeController; | 63 using sync_sessions::SessionDataTypeController; |
64 | 64 |
65 namespace browser_sync { | 65 namespace browser_sync { |
66 | 66 |
67 namespace { | 67 namespace { |
68 | 68 |
69 syncer::ModelTypeSet GetDisabledTypesFromCommandLine( | 69 syncer::ModelTypeSet GetDisabledTypesFromCommandLine( |
70 const base::CommandLine& command_line) { | 70 const base::CommandLine& command_line) { |
71 syncer::ModelTypeSet disabled_types; | 71 syncer::ModelTypeSet disabled_types; |
72 std::string disabled_types_str = | 72 std::string disabled_types_str = |
(...skipping 11 matching lines...) Expand all Loading... |
84 // Used to gate syncing preferences, see crbug.com/374865 for more information. | 84 // Used to gate syncing preferences, see crbug.com/374865 for more information. |
85 // Has always been on for desktop/ChromeOS, so default to on. This feature is | 85 // Has always been on for desktop/ChromeOS, so default to on. This feature is |
86 // mainly to give us a kill switch should something go wrong with starting to | 86 // mainly to give us a kill switch should something go wrong with starting to |
87 // sync prefs on mobile. | 87 // sync prefs on mobile. |
88 const base::Feature kSyncPreferencesFeature{"SyncPreferences", | 88 const base::Feature kSyncPreferencesFeature{"SyncPreferences", |
89 base::FEATURE_ENABLED_BY_DEFAULT}; | 89 base::FEATURE_ENABLED_BY_DEFAULT}; |
90 | 90 |
91 } // namespace | 91 } // namespace |
92 | 92 |
93 ProfileSyncComponentsFactoryImpl::ProfileSyncComponentsFactoryImpl( | 93 ProfileSyncComponentsFactoryImpl::ProfileSyncComponentsFactoryImpl( |
94 sync_driver::SyncClient* sync_client, | 94 syncer::SyncClient* sync_client, |
95 version_info::Channel channel, | 95 version_info::Channel channel, |
96 const std::string& version, | 96 const std::string& version, |
97 bool is_tablet, | 97 bool is_tablet, |
98 const base::CommandLine& command_line, | 98 const base::CommandLine& command_line, |
99 const char* history_disabled_pref, | 99 const char* history_disabled_pref, |
100 const GURL& sync_service_url, | 100 const GURL& sync_service_url, |
101 const scoped_refptr<base::SingleThreadTaskRunner>& ui_thread, | 101 const scoped_refptr<base::SingleThreadTaskRunner>& ui_thread, |
102 const scoped_refptr<base::SingleThreadTaskRunner>& db_thread, | 102 const scoped_refptr<base::SingleThreadTaskRunner>& db_thread, |
103 OAuth2TokenService* token_service, | 103 OAuth2TokenService* token_service, |
104 net::URLRequestContextGetter* url_request_context_getter, | 104 net::URLRequestContextGetter* url_request_context_getter, |
(...skipping 13 matching lines...) Expand all Loading... |
118 web_data_service_(web_data_service), | 118 web_data_service_(web_data_service), |
119 password_store_(password_store), | 119 password_store_(password_store), |
120 weak_factory_(this) { | 120 weak_factory_(this) { |
121 DCHECK(token_service_); | 121 DCHECK(token_service_); |
122 DCHECK(url_request_context_getter_); | 122 DCHECK(url_request_context_getter_); |
123 } | 123 } |
124 | 124 |
125 ProfileSyncComponentsFactoryImpl::~ProfileSyncComponentsFactoryImpl() {} | 125 ProfileSyncComponentsFactoryImpl::~ProfileSyncComponentsFactoryImpl() {} |
126 | 126 |
127 void ProfileSyncComponentsFactoryImpl::RegisterDataTypes( | 127 void ProfileSyncComponentsFactoryImpl::RegisterDataTypes( |
128 sync_driver::SyncService* sync_service, | 128 syncer::SyncService* sync_service, |
129 const RegisterDataTypesMethod& register_platform_types_method) { | 129 const RegisterDataTypesMethod& register_platform_types_method) { |
130 syncer::ModelTypeSet disabled_types = | 130 syncer::ModelTypeSet disabled_types = |
131 GetDisabledTypesFromCommandLine(command_line_); | 131 GetDisabledTypesFromCommandLine(command_line_); |
132 syncer::ModelTypeSet enabled_types = | 132 syncer::ModelTypeSet enabled_types = |
133 GetEnabledTypesFromCommandLine(command_line_); | 133 GetEnabledTypesFromCommandLine(command_line_); |
134 RegisterCommonDataTypes(sync_service, disabled_types, enabled_types); | 134 RegisterCommonDataTypes(sync_service, disabled_types, enabled_types); |
135 if (!register_platform_types_method.is_null()) | 135 if (!register_platform_types_method.is_null()) |
136 register_platform_types_method.Run(sync_service, disabled_types, | 136 register_platform_types_method.Run(sync_service, disabled_types, |
137 enabled_types); | 137 enabled_types); |
138 } | 138 } |
139 | 139 |
140 void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes( | 140 void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes( |
141 sync_driver::SyncService* sync_service, | 141 syncer::SyncService* sync_service, |
142 syncer::ModelTypeSet disabled_types, | 142 syncer::ModelTypeSet disabled_types, |
143 syncer::ModelTypeSet enabled_types) { | 143 syncer::ModelTypeSet enabled_types) { |
144 base::Closure error_callback = | 144 base::Closure error_callback = |
145 base::Bind(&ChromeReportUnrecoverableError, channel_); | 145 base::Bind(&syncer::ChromeReportUnrecoverableError, channel_); |
146 | 146 |
147 // TODO(stanisc): can DEVICE_INFO be one of disabled datatypes? | 147 // TODO(stanisc): can DEVICE_INFO be one of disabled datatypes? |
148 if (base::FeatureList::IsEnabled(switches::kSyncUSSDeviceInfo)) { | 148 if (base::FeatureList::IsEnabled(switches::kSyncUSSDeviceInfo)) { |
149 // Use an error callback that always uploads a stacktrace if it can to help | 149 // Use an error callback that always uploads a stacktrace if it can to help |
150 // get USS as stable as possible. | 150 // get USS as stable as possible. |
151 sync_service->RegisterDataTypeController( | 151 sync_service->RegisterDataTypeController( |
152 base::MakeUnique<UIModelTypeController>( | 152 base::MakeUnique<UIModelTypeController>( |
153 syncer::DEVICE_INFO, base::Bind(&base::debug::DumpWithoutCrashing), | 153 syncer::DEVICE_INFO, base::Bind(&base::debug::DumpWithoutCrashing), |
154 sync_client_)); | 154 sync_client_)); |
155 } else { | 155 } else { |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 sync_service->RegisterDataTypeController( | 280 sync_service->RegisterDataTypeController( |
281 base::MakeUnique<UIDataTypeController>(syncer::ARTICLES, error_callback, | 281 base::MakeUnique<UIDataTypeController>(syncer::ARTICLES, error_callback, |
282 sync_client_)); | 282 sync_client_)); |
283 } | 283 } |
284 } | 284 } |
285 | 285 |
286 DataTypeManager* ProfileSyncComponentsFactoryImpl::CreateDataTypeManager( | 286 DataTypeManager* ProfileSyncComponentsFactoryImpl::CreateDataTypeManager( |
287 const syncer::WeakHandle<syncer::DataTypeDebugInfoListener>& | 287 const syncer::WeakHandle<syncer::DataTypeDebugInfoListener>& |
288 debug_info_listener, | 288 debug_info_listener, |
289 const DataTypeController::TypeMap* controllers, | 289 const DataTypeController::TypeMap* controllers, |
290 const sync_driver::DataTypeEncryptionHandler* encryption_handler, | 290 const syncer::DataTypeEncryptionHandler* encryption_handler, |
291 SyncBackendHost* backend, | 291 syncer::SyncBackendHost* backend, |
292 DataTypeManagerObserver* observer) { | 292 DataTypeManagerObserver* observer) { |
293 return new DataTypeManagerImpl(debug_info_listener, controllers, | 293 return new DataTypeManagerImpl(debug_info_listener, controllers, |
294 encryption_handler, backend, observer); | 294 encryption_handler, backend, observer); |
295 } | 295 } |
296 | 296 |
297 SyncBackendHost* ProfileSyncComponentsFactoryImpl::CreateSyncBackendHost( | 297 syncer::SyncBackendHost* |
| 298 ProfileSyncComponentsFactoryImpl::CreateSyncBackendHost( |
298 const std::string& name, | 299 const std::string& name, |
299 invalidation::InvalidationService* invalidator, | 300 invalidation::InvalidationService* invalidator, |
300 const base::WeakPtr<sync_driver::SyncPrefs>& sync_prefs, | 301 const base::WeakPtr<syncer::SyncPrefs>& sync_prefs, |
301 const base::FilePath& sync_folder) { | 302 const base::FilePath& sync_folder) { |
302 return new SyncBackendHostImpl(name, sync_client_, ui_thread_, invalidator, | 303 return new syncer::SyncBackendHostImpl(name, sync_client_, ui_thread_, |
303 sync_prefs, sync_folder); | 304 invalidator, sync_prefs, sync_folder); |
304 } | 305 } |
305 | 306 |
306 std::unique_ptr<sync_driver::LocalDeviceInfoProvider> | 307 std::unique_ptr<syncer::LocalDeviceInfoProvider> |
307 ProfileSyncComponentsFactoryImpl::CreateLocalDeviceInfoProvider() { | 308 ProfileSyncComponentsFactoryImpl::CreateLocalDeviceInfoProvider() { |
308 return base::MakeUnique<LocalDeviceInfoProviderImpl>(channel_, version_, | 309 return base::MakeUnique<syncer::LocalDeviceInfoProviderImpl>( |
309 is_tablet_); | 310 channel_, version_, is_tablet_); |
310 } | 311 } |
311 | 312 |
312 class TokenServiceProvider | 313 class TokenServiceProvider |
313 : public OAuth2TokenServiceRequest::TokenServiceProvider { | 314 : public OAuth2TokenServiceRequest::TokenServiceProvider { |
314 public: | 315 public: |
315 TokenServiceProvider( | 316 TokenServiceProvider( |
316 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, | 317 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, |
317 OAuth2TokenService* token_service); | 318 OAuth2TokenService* token_service); |
318 | 319 |
319 // OAuth2TokenServiceRequest::TokenServiceProvider implementation. | 320 // OAuth2TokenServiceRequest::TokenServiceProvider implementation. |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
387 base::TimeDelta::FromMinutes(30); | 388 base::TimeDelta::FromMinutes(30); |
388 const base::TimeDelta max_backoff_delay = base::TimeDelta::FromHours(4); | 389 const base::TimeDelta max_backoff_delay = base::TimeDelta::FromHours(4); |
389 std::unique_ptr<syncer::AttachmentService> attachment_service( | 390 std::unique_ptr<syncer::AttachmentService> attachment_service( |
390 new syncer::AttachmentServiceImpl( | 391 new syncer::AttachmentServiceImpl( |
391 std::move(attachment_store), std::move(attachment_uploader), | 392 std::move(attachment_store), std::move(attachment_uploader), |
392 std::move(attachment_downloader), delegate, initial_backoff_delay, | 393 std::move(attachment_downloader), delegate, initial_backoff_delay, |
393 max_backoff_delay)); | 394 max_backoff_delay)); |
394 return attachment_service; | 395 return attachment_service; |
395 } | 396 } |
396 | 397 |
397 sync_driver::SyncApiComponentFactory::SyncComponents | 398 syncer::SyncApiComponentFactory::SyncComponents |
398 ProfileSyncComponentsFactoryImpl::CreateBookmarkSyncComponents( | 399 ProfileSyncComponentsFactoryImpl::CreateBookmarkSyncComponents( |
399 sync_driver::SyncService* sync_service, | 400 syncer::SyncService* sync_service, |
400 std::unique_ptr<syncer::DataTypeErrorHandler> error_handler) { | 401 std::unique_ptr<syncer::DataTypeErrorHandler> error_handler) { |
401 BookmarkModel* bookmark_model = | 402 BookmarkModel* bookmark_model = |
402 sync_service->GetSyncClient()->GetBookmarkModel(); | 403 sync_service->GetSyncClient()->GetBookmarkModel(); |
403 syncer::UserShare* user_share = sync_service->GetUserShare(); | 404 syncer::UserShare* user_share = sync_service->GetUserShare(); |
404 // TODO(akalin): We may want to propagate this switch up eventually. | 405 // TODO(akalin): We may want to propagate this switch up eventually. |
405 #if defined(OS_ANDROID) || defined(OS_IOS) | 406 #if defined(OS_ANDROID) || defined(OS_IOS) |
406 const bool kExpectMobileBookmarksFolder = true; | 407 const bool kExpectMobileBookmarksFolder = true; |
407 #else | 408 #else |
408 const bool kExpectMobileBookmarksFolder = false; | 409 const bool kExpectMobileBookmarksFolder = false; |
409 #endif | 410 #endif |
410 BookmarkModelAssociator* model_associator = new BookmarkModelAssociator( | 411 BookmarkModelAssociator* model_associator = new BookmarkModelAssociator( |
411 bookmark_model, sync_service->GetSyncClient(), user_share, | 412 bookmark_model, sync_service->GetSyncClient(), user_share, |
412 error_handler->Copy(), kExpectMobileBookmarksFolder); | 413 error_handler->Copy(), kExpectMobileBookmarksFolder); |
413 BookmarkChangeProcessor* change_processor = | 414 BookmarkChangeProcessor* change_processor = |
414 new BookmarkChangeProcessor(sync_service->GetSyncClient(), | 415 new BookmarkChangeProcessor(sync_service->GetSyncClient(), |
415 model_associator, std::move(error_handler)); | 416 model_associator, std::move(error_handler)); |
416 return SyncComponents(model_associator, change_processor); | 417 return SyncComponents(model_associator, change_processor); |
417 } | 418 } |
418 | 419 |
419 // static | 420 // static |
420 void ProfileSyncComponentsFactoryImpl::OverridePrefsForUssTest(bool use_uss) { | 421 void ProfileSyncComponentsFactoryImpl::OverridePrefsForUssTest(bool use_uss) { |
421 override_prefs_controller_to_uss_for_test_ = use_uss; | 422 override_prefs_controller_to_uss_for_test_ = use_uss; |
422 } | 423 } |
423 | 424 |
424 bool ProfileSyncComponentsFactoryImpl:: | 425 bool ProfileSyncComponentsFactoryImpl:: |
425 override_prefs_controller_to_uss_for_test_ = false; | 426 override_prefs_controller_to_uss_for_test_ = false; |
426 | 427 |
427 } // namespace browser_sync | 428 } // namespace browser_sync |
OLD | NEW |