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

Side by Side Diff: components/browser_sync/browser/profile_sync_components_factory_impl.cc

Issue 1460723004: [Sync] Remove the last datatype-specific deps from sync_driver. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Delete outdated comment. Created 5 years 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 unified diff | Download patch
OLDNEW
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/browser/profile_sync_components_factory_impl.h " 5 #include "components/browser_sync/browser/profile_sync_components_factory_impl.h "
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
11 #include "components/autofill/core/browser/autofill_wallet_data_type_controller. h" 11 #include "components/autofill/core/browser/autofill_wallet_data_type_controller. h"
12 #include "components/autofill/core/browser/webdata/autofill_data_type_controller .h" 12 #include "components/autofill/core/browser/webdata/autofill_data_type_controller .h"
13 #include "components/autofill/core/browser/webdata/autofill_profile_data_type_co ntroller.h" 13 #include "components/autofill/core/browser/webdata/autofill_profile_data_type_co ntroller.h"
14 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h"
14 #include "components/autofill/core/common/autofill_pref_names.h" 15 #include "components/autofill/core/common/autofill_pref_names.h"
15 #include "components/autofill/core/common/autofill_switches.h" 16 #include "components/autofill/core/common/autofill_switches.h"
16 #include "components/browser_sync/browser/profile_sync_service.h" 17 #include "components/browser_sync/browser/profile_sync_service.h"
17 #include "components/browser_sync/common/browser_sync_switches.h" 18 #include "components/browser_sync/common/browser_sync_switches.h"
18 #include "components/dom_distiller/core/dom_distiller_features.h" 19 #include "components/dom_distiller/core/dom_distiller_features.h"
19 #include "components/history/core/browser/history_delete_directives_data_type_co ntroller.h" 20 #include "components/history/core/browser/history_delete_directives_data_type_co ntroller.h"
20 #include "components/history/core/browser/typed_url_change_processor.h" 21 #include "components/history/core/browser/typed_url_change_processor.h"
21 #include "components/history/core/browser/typed_url_data_type_controller.h" 22 #include "components/history/core/browser/typed_url_data_type_controller.h"
22 #include "components/history/core/browser/typed_url_model_associator.h" 23 #include "components/history/core/browser/typed_url_model_associator.h"
24 #include "components/password_manager/core/browser/password_store.h"
23 #include "components/password_manager/sync/browser/password_data_type_controller .h" 25 #include "components/password_manager/sync/browser/password_data_type_controller .h"
24 #include "components/sync_bookmarks/bookmark_change_processor.h" 26 #include "components/sync_bookmarks/bookmark_change_processor.h"
25 #include "components/sync_bookmarks/bookmark_data_type_controller.h" 27 #include "components/sync_bookmarks/bookmark_data_type_controller.h"
26 #include "components/sync_bookmarks/bookmark_model_associator.h" 28 #include "components/sync_bookmarks/bookmark_model_associator.h"
27 #include "components/sync_driver/data_type_manager_impl.h" 29 #include "components/sync_driver/data_type_manager_impl.h"
28 #include "components/sync_driver/device_info_data_type_controller.h" 30 #include "components/sync_driver/device_info_data_type_controller.h"
29 #include "components/sync_driver/glue/chrome_report_unrecoverable_error.h" 31 #include "components/sync_driver/glue/chrome_report_unrecoverable_error.h"
30 #include "components/sync_driver/glue/sync_backend_host.h" 32 #include "components/sync_driver/glue/sync_backend_host.h"
31 #include "components/sync_driver/glue/sync_backend_host_impl.h" 33 #include "components/sync_driver/glue/sync_backend_host_impl.h"
32 #include "components/sync_driver/local_device_info_provider_impl.h" 34 #include "components/sync_driver/local_device_info_provider_impl.h"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 sync_driver::SyncClient* sync_client, 90 sync_driver::SyncClient* sync_client,
89 version_info::Channel channel, 91 version_info::Channel channel,
90 const std::string& version, 92 const std::string& version,
91 bool is_tablet, 93 bool is_tablet,
92 const base::CommandLine& command_line, 94 const base::CommandLine& command_line,
93 const char* history_disabled_pref, 95 const char* history_disabled_pref,
94 const GURL& sync_service_url, 96 const GURL& sync_service_url,
95 const scoped_refptr<base::SingleThreadTaskRunner>& ui_thread, 97 const scoped_refptr<base::SingleThreadTaskRunner>& ui_thread,
96 const scoped_refptr<base::SingleThreadTaskRunner>& db_thread, 98 const scoped_refptr<base::SingleThreadTaskRunner>& db_thread,
97 OAuth2TokenService* token_service, 99 OAuth2TokenService* token_service,
98 net::URLRequestContextGetter* url_request_context_getter) 100 net::URLRequestContextGetter* url_request_context_getter,
101 const scoped_refptr<autofill::AutofillWebDataService>& web_data_service,
102 const scoped_refptr<password_manager::PasswordStore>& password_store)
99 : sync_client_(sync_client), 103 : sync_client_(sync_client),
100 channel_(channel), 104 channel_(channel),
101 version_(version), 105 version_(version),
102 is_tablet_(is_tablet), 106 is_tablet_(is_tablet),
103 command_line_(command_line), 107 command_line_(command_line),
104 history_disabled_pref_(history_disabled_pref), 108 history_disabled_pref_(history_disabled_pref),
105 sync_service_url_(sync_service_url), 109 sync_service_url_(sync_service_url),
106 ui_thread_(ui_thread), 110 ui_thread_(ui_thread),
107 db_thread_(db_thread), 111 db_thread_(db_thread),
108 token_service_(token_service), 112 token_service_(token_service),
109 url_request_context_getter_(url_request_context_getter), 113 url_request_context_getter_(url_request_context_getter),
114 web_data_service_(web_data_service),
115 password_store_(password_store),
110 weak_factory_(this) { 116 weak_factory_(this) {
111 DCHECK(token_service_); 117 DCHECK(token_service_);
112 DCHECK(url_request_context_getter_); 118 DCHECK(url_request_context_getter_);
113 } 119 }
114 120
115 ProfileSyncComponentsFactoryImpl::~ProfileSyncComponentsFactoryImpl() {} 121 ProfileSyncComponentsFactoryImpl::~ProfileSyncComponentsFactoryImpl() {}
116 122
117 void ProfileSyncComponentsFactoryImpl::RegisterDataTypes( 123 void ProfileSyncComponentsFactoryImpl::RegisterDataTypes(
118 const RegisterDataTypesMethod& register_platform_types_method) { 124 const RegisterDataTypesMethod& register_platform_types_method) {
119 syncer::ModelTypeSet disabled_types = 125 syncer::ModelTypeSet disabled_types =
(...skipping 13 matching lines...) Expand all
133 base::Bind(&ChromeReportUnrecoverableError, channel_); 139 base::Bind(&ChromeReportUnrecoverableError, channel_);
134 140
135 // TODO(stanisc): can DEVICE_INFO be one of disabled datatypes? 141 // TODO(stanisc): can DEVICE_INFO be one of disabled datatypes?
136 sync_service->RegisterDataTypeController(new DeviceInfoDataTypeController( 142 sync_service->RegisterDataTypeController(new DeviceInfoDataTypeController(
137 ui_thread_, error_callback, sync_client_, 143 ui_thread_, error_callback, sync_client_,
138 sync_service->GetLocalDeviceInfoProvider())); 144 sync_service->GetLocalDeviceInfoProvider()));
139 145
140 // Autofill sync is enabled by default. Register unless explicitly 146 // Autofill sync is enabled by default. Register unless explicitly
141 // disabled. 147 // disabled.
142 if (!disabled_types.Has(syncer::AUTOFILL)) { 148 if (!disabled_types.Has(syncer::AUTOFILL)) {
143 sync_service->RegisterDataTypeController(new AutofillDataTypeController( 149 sync_service->RegisterDataTypeController(
144 ui_thread_, db_thread_, error_callback, sync_client_)); 150 new AutofillDataTypeController(ui_thread_, db_thread_, error_callback,
151 sync_client_, web_data_service_));
145 } 152 }
146 153
147 // Autofill profile sync is enabled by default. Register unless explicitly 154 // Autofill profile sync is enabled by default. Register unless explicitly
148 // disabled. 155 // disabled.
149 if (!disabled_types.Has(syncer::AUTOFILL_PROFILE)) { 156 if (!disabled_types.Has(syncer::AUTOFILL_PROFILE)) {
150 sync_service->RegisterDataTypeController( 157 sync_service->RegisterDataTypeController(
151 new AutofillProfileDataTypeController(ui_thread_, db_thread_, 158 new AutofillProfileDataTypeController(ui_thread_, db_thread_,
152 error_callback, sync_client_)); 159 error_callback, sync_client_,
160 web_data_service_));
153 } 161 }
154 162
155 // Wallet data sync is enabled by default, but behind a syncer experiment 163 // Wallet data sync is enabled by default, but behind a syncer experiment
156 // enforced by the datatype controller. Register unless explicitly disabled. 164 // enforced by the datatype controller. Register unless explicitly disabled.
157 bool wallet_disabled = disabled_types.Has(syncer::AUTOFILL_WALLET_DATA); 165 bool wallet_disabled = disabled_types.Has(syncer::AUTOFILL_WALLET_DATA);
158 if (!wallet_disabled) { 166 if (!wallet_disabled) {
159 sync_service->RegisterDataTypeController( 167 sync_service->RegisterDataTypeController(
160 new browser_sync::AutofillWalletDataTypeController( 168 new browser_sync::AutofillWalletDataTypeController(
161 ui_thread_, db_thread_, error_callback, sync_client_, 169 ui_thread_, db_thread_, error_callback, sync_client_,
162 syncer::AUTOFILL_WALLET_DATA)); 170 syncer::AUTOFILL_WALLET_DATA, web_data_service_));
163 } 171 }
164 172
165 // Wallet metadata sync depends on Wallet data sync. Register if Wallet data 173 // Wallet metadata sync depends on Wallet data sync. Register if Wallet data
166 // is syncing and metadata sync is not explicitly disabled. 174 // is syncing and metadata sync is not explicitly disabled.
167 if (!wallet_disabled && 175 if (!wallet_disabled &&
168 !disabled_types.Has(syncer::AUTOFILL_WALLET_METADATA)) { 176 !disabled_types.Has(syncer::AUTOFILL_WALLET_METADATA)) {
169 sync_service->RegisterDataTypeController( 177 sync_service->RegisterDataTypeController(
170 new browser_sync::AutofillWalletDataTypeController( 178 new browser_sync::AutofillWalletDataTypeController(
171 ui_thread_, db_thread_, error_callback, sync_client_, 179 ui_thread_, db_thread_, error_callback, sync_client_,
172 syncer::AUTOFILL_WALLET_METADATA)); 180 syncer::AUTOFILL_WALLET_METADATA, web_data_service_));
173 } 181 }
174 182
175 // Bookmark sync is enabled by default. Register unless explicitly 183 // Bookmark sync is enabled by default. Register unless explicitly
176 // disabled. 184 // disabled.
177 if (!disabled_types.Has(syncer::BOOKMARKS)) { 185 if (!disabled_types.Has(syncer::BOOKMARKS)) {
178 sync_service->RegisterDataTypeController(new BookmarkDataTypeController( 186 sync_service->RegisterDataTypeController(new BookmarkDataTypeController(
179 ui_thread_, error_callback, sync_client_)); 187 ui_thread_, error_callback, sync_client_));
180 } 188 }
181 189
182 const bool history_disabled = 190 const bool history_disabled =
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 ui_thread_, base::Closure(), syncer::FAVICON_IMAGES, sync_client_)); 229 ui_thread_, base::Closure(), syncer::FAVICON_IMAGES, sync_client_));
222 sync_service->RegisterDataTypeController(new UIDataTypeController( 230 sync_service->RegisterDataTypeController(new UIDataTypeController(
223 ui_thread_, base::Closure(), syncer::FAVICON_TRACKING, sync_client_)); 231 ui_thread_, base::Closure(), syncer::FAVICON_TRACKING, sync_client_));
224 } 232 }
225 233
226 // Password sync is enabled by default. Register unless explicitly 234 // Password sync is enabled by default. Register unless explicitly
227 // disabled. 235 // disabled.
228 if (!disabled_types.Has(syncer::PASSWORDS)) { 236 if (!disabled_types.Has(syncer::PASSWORDS)) {
229 sync_service->RegisterDataTypeController(new PasswordDataTypeController( 237 sync_service->RegisterDataTypeController(new PasswordDataTypeController(
230 ui_thread_, error_callback, sync_client_, 238 ui_thread_, error_callback, sync_client_,
231 sync_client_->GetPasswordStateChangedCallback())); 239 sync_client_->GetPasswordStateChangedCallback(), password_store_));
232 } 240 }
233 241
234 if (!disabled_types.Has(syncer::PRIORITY_PREFERENCES)) { 242 if (!disabled_types.Has(syncer::PRIORITY_PREFERENCES)) {
235 sync_service->RegisterDataTypeController( 243 sync_service->RegisterDataTypeController(
236 new UIDataTypeController(ui_thread_, error_callback, 244 new UIDataTypeController(ui_thread_, error_callback,
237 syncer::PRIORITY_PREFERENCES, sync_client_)); 245 syncer::PRIORITY_PREFERENCES, sync_client_));
238 } 246 }
239 247
240 // Article sync is disabled by default. Register only if explicitly enabled. 248 // Article sync is disabled by default. Register only if explicitly enabled.
241 if (dom_distiller::IsEnableSyncArticlesSet()) { 249 if (dom_distiller::IsEnableSyncArticlesSet()) {
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 395
388 // TODO(zea): Once TypedURLs are converted to SyncableService, remove 396 // TODO(zea): Once TypedURLs are converted to SyncableService, remove
389 // |sync_service_| member, and make GetSyncService require it be called on 397 // |sync_service_| member, and make GetSyncService require it be called on
390 // the UI thread. 398 // the UI thread.
391 TypedUrlModelAssociator* model_associator = 399 TypedUrlModelAssociator* model_associator =
392 new TypedUrlModelAssociator(sync_service, history_backend, error_handler); 400 new TypedUrlModelAssociator(sync_service, history_backend, error_handler);
393 TypedUrlChangeProcessor* change_processor = new TypedUrlChangeProcessor( 401 TypedUrlChangeProcessor* change_processor = new TypedUrlChangeProcessor(
394 model_associator, history_backend, error_handler, ui_thread_); 402 model_associator, history_backend, error_handler, ui_thread_);
395 return SyncComponents(model_associator, change_processor); 403 return SyncComponents(model_associator, change_processor);
396 } 404 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698