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

Side by Side Diff: chrome/browser/sync/profile_sync_factory_impl.cc

Issue 8065016: [Sync] Refactor non-frontend DTC to handle new API properly. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase++++ Created 9 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "base/command_line.h" 5 #include "base/command_line.h"
6 #include "chrome/browser/extensions/extension_service.h" 6 #include "chrome/browser/extensions/extension_service.h"
7 #include "chrome/browser/extensions/extension_settings_backend.h" 7 #include "chrome/browser/extensions/extension_settings_backend.h"
8 #include "chrome/browser/prefs/pref_model_associator.h"
8 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/browser/search_engines/template_url_service.h" 10 #include "chrome/browser/search_engines/template_url_service.h"
10 #include "chrome/browser/search_engines/template_url_service_factory.h" 11 #include "chrome/browser/search_engines/template_url_service_factory.h"
11 #include "chrome/browser/sync/api/syncable_service.h" 12 #include "chrome/browser/sync/api/syncable_service.h"
12 #include "chrome/browser/sync/glue/app_data_type_controller.h" 13 #include "chrome/browser/sync/glue/app_data_type_controller.h"
13 #include "chrome/browser/sync/glue/autofill_change_processor.h" 14 #include "chrome/browser/sync/glue/autofill_change_processor.h"
14 #include "chrome/browser/sync/glue/autofill_data_type_controller.h" 15 #include "chrome/browser/sync/glue/autofill_data_type_controller.h"
15 #include "chrome/browser/sync/glue/autofill_model_associator.h" 16 #include "chrome/browser/sync/glue/autofill_model_associator.h"
16 #include "chrome/browser/sync/glue/autofill_profile_data_type_controller.h" 17 #include "chrome/browser/sync/glue/autofill_profile_data_type_controller.h"
17 #include "chrome/browser/sync/glue/bookmark_change_processor.h" 18 #include "chrome/browser/sync/glue/bookmark_change_processor.h"
18 #include "chrome/browser/sync/glue/bookmark_data_type_controller.h" 19 #include "chrome/browser/sync/glue/bookmark_data_type_controller.h"
19 #include "chrome/browser/sync/glue/bookmark_model_associator.h" 20 #include "chrome/browser/sync/glue/bookmark_model_associator.h"
20 #include "chrome/browser/sync/glue/data_type_manager_impl.h" 21 #include "chrome/browser/sync/glue/data_type_manager_impl.h"
21 #include "chrome/browser/sync/glue/extension_data_type_controller.h" 22 #include "chrome/browser/sync/glue/extension_data_type_controller.h"
22 #include "chrome/browser/sync/glue/extension_setting_data_type_controller.h" 23 #include "chrome/browser/sync/glue/extension_setting_data_type_controller.h"
23 #include "chrome/browser/sync/glue/generic_change_processor.h" 24 #include "chrome/browser/sync/glue/generic_change_processor.h"
24 #include "chrome/browser/sync/glue/password_change_processor.h" 25 #include "chrome/browser/sync/glue/password_change_processor.h"
25 #include "chrome/browser/sync/glue/password_data_type_controller.h" 26 #include "chrome/browser/sync/glue/password_data_type_controller.h"
26 #include "chrome/browser/sync/glue/password_model_associator.h" 27 #include "chrome/browser/sync/glue/password_model_associator.h"
27 #include "chrome/browser/sync/glue/preference_data_type_controller.h" 28 #include "chrome/browser/sync/glue/preference_data_type_controller.h"
28 #include "chrome/browser/sync/glue/search_engine_data_type_controller.h" 29 #include "chrome/browser/sync/glue/search_engine_data_type_controller.h"
29 #include "chrome/browser/sync/glue/session_change_processor.h" 30 #include "chrome/browser/sync/glue/session_change_processor.h"
30 #include "chrome/browser/sync/glue/session_data_type_controller.h" 31 #include "chrome/browser/sync/glue/session_data_type_controller.h"
31 #include "chrome/browser/sync/glue/session_model_associator.h" 32 #include "chrome/browser/sync/glue/session_model_associator.h"
33 #include "chrome/browser/sync/glue/shared_change_processor.h"
32 #include "chrome/browser/sync/glue/syncable_service_adapter.h" 34 #include "chrome/browser/sync/glue/syncable_service_adapter.h"
33 #include "chrome/browser/sync/glue/sync_backend_host.h" 35 #include "chrome/browser/sync/glue/sync_backend_host.h"
34 #include "chrome/browser/sync/glue/theme_change_processor.h" 36 #include "chrome/browser/sync/glue/theme_change_processor.h"
35 #include "chrome/browser/sync/glue/theme_data_type_controller.h" 37 #include "chrome/browser/sync/glue/theme_data_type_controller.h"
36 #include "chrome/browser/sync/glue/theme_model_associator.h" 38 #include "chrome/browser/sync/glue/theme_model_associator.h"
37 #include "chrome/browser/sync/glue/typed_url_change_processor.h" 39 #include "chrome/browser/sync/glue/typed_url_change_processor.h"
38 #include "chrome/browser/sync/glue/typed_url_data_type_controller.h" 40 #include "chrome/browser/sync/glue/typed_url_data_type_controller.h"
39 #include "chrome/browser/sync/glue/typed_url_model_associator.h" 41 #include "chrome/browser/sync/glue/typed_url_model_associator.h"
40 #include "chrome/browser/sync/profile_sync_service.h" 42 #include "chrome/browser/sync/profile_sync_service.h"
41 #include "chrome/browser/sync/profile_sync_factory_impl.h" 43 #include "chrome/browser/sync/profile_sync_factory_impl.h"
(...skipping 19 matching lines...) Expand all
61 using browser_sync::ExtensionSettingDataTypeController; 63 using browser_sync::ExtensionSettingDataTypeController;
62 using browser_sync::GenericChangeProcessor; 64 using browser_sync::GenericChangeProcessor;
63 using browser_sync::PasswordChangeProcessor; 65 using browser_sync::PasswordChangeProcessor;
64 using browser_sync::PasswordDataTypeController; 66 using browser_sync::PasswordDataTypeController;
65 using browser_sync::PasswordModelAssociator; 67 using browser_sync::PasswordModelAssociator;
66 using browser_sync::PreferenceDataTypeController; 68 using browser_sync::PreferenceDataTypeController;
67 using browser_sync::SearchEngineDataTypeController; 69 using browser_sync::SearchEngineDataTypeController;
68 using browser_sync::SessionChangeProcessor; 70 using browser_sync::SessionChangeProcessor;
69 using browser_sync::SessionDataTypeController; 71 using browser_sync::SessionDataTypeController;
70 using browser_sync::SessionModelAssociator; 72 using browser_sync::SessionModelAssociator;
73 using browser_sync::SharedChangeProcessor;
71 using browser_sync::SyncableServiceAdapter; 74 using browser_sync::SyncableServiceAdapter;
72 using browser_sync::SyncBackendHost; 75 using browser_sync::SyncBackendHost;
73 using browser_sync::ThemeChangeProcessor; 76 using browser_sync::ThemeChangeProcessor;
74 using browser_sync::ThemeDataTypeController; 77 using browser_sync::ThemeDataTypeController;
75 using browser_sync::ThemeModelAssociator; 78 using browser_sync::ThemeModelAssociator;
76 using browser_sync::TypedUrlChangeProcessor; 79 using browser_sync::TypedUrlChangeProcessor;
77 using browser_sync::TypedUrlDataTypeController; 80 using browser_sync::TypedUrlDataTypeController;
78 using browser_sync::TypedUrlModelAssociator; 81 using browser_sync::TypedUrlModelAssociator;
79 using browser_sync::UnrecoverableErrorHandler; 82 using browser_sync::UnrecoverableErrorHandler;
80 83
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 new SearchEngineDataTypeController(this, profile_, pss)); 178 new SearchEngineDataTypeController(this, profile_, pss));
176 } 179 }
177 } 180 }
178 181
179 DataTypeManager* ProfileSyncFactoryImpl::CreateDataTypeManager( 182 DataTypeManager* ProfileSyncFactoryImpl::CreateDataTypeManager(
180 SyncBackendHost* backend, 183 SyncBackendHost* backend,
181 const DataTypeController::TypeMap* controllers) { 184 const DataTypeController::TypeMap* controllers) {
182 return new DataTypeManagerImpl(backend, controllers); 185 return new DataTypeManagerImpl(backend, controllers);
183 } 186 }
184 187
188 browser_sync::GenericChangeProcessor*
189 ProfileSyncFactoryImpl::CreateGenericChangeProcessor(
190 ProfileSyncService* profile_sync_service,
191 browser_sync::UnrecoverableErrorHandler* error_handler,
192 const base::WeakPtr<SyncableService>& local_service) {
193 sync_api::UserShare* user_share = profile_sync_service->GetUserShare();
194 return new GenericChangeProcessor(error_handler,
195 local_service,
196 user_share);
197 }
198
199 browser_sync::SharedChangeProcessor* ProfileSyncFactoryImpl::
200 CreateSharedChangeProcessor() {
201 return new SharedChangeProcessor();
202 }
203
185 ProfileSyncFactory::SyncComponents 204 ProfileSyncFactory::SyncComponents
186 ProfileSyncFactoryImpl::CreateAppSyncComponents( 205 ProfileSyncFactoryImpl::CreateAppSyncComponents(
187 ProfileSyncService* profile_sync_service, 206 ProfileSyncService* profile_sync_service,
188 UnrecoverableErrorHandler* error_handler) { 207 UnrecoverableErrorHandler* error_handler) {
189 SyncableService* app_sync_service = 208 base::WeakPtr<SyncableService> app_sync_service =
190 profile_sync_service->profile()->GetExtensionService(); 209 profile_sync_service->profile()->GetExtensionService()->AsWeakPtr();
191 sync_api::UserShare* user_share = profile_sync_service->GetUserShare(); 210 sync_api::UserShare* user_share = profile_sync_service->GetUserShare();
192 GenericChangeProcessor* change_processor = 211 GenericChangeProcessor* change_processor =
193 new GenericChangeProcessor(app_sync_service, error_handler, user_share); 212 new GenericChangeProcessor(error_handler, app_sync_service, user_share);
194 browser_sync::SyncableServiceAdapter* sync_service_adapter = 213 browser_sync::SyncableServiceAdapter* sync_service_adapter =
195 new browser_sync::SyncableServiceAdapter(syncable::APPS, 214 new browser_sync::SyncableServiceAdapter(syncable::APPS,
196 app_sync_service, 215 app_sync_service,
197 change_processor); 216 change_processor);
198 return SyncComponents(sync_service_adapter, change_processor); 217 return SyncComponents(sync_service_adapter, change_processor);
199 } 218 }
200 219
201 ProfileSyncFactory::SyncComponents 220 ProfileSyncFactory::SyncComponents
202 ProfileSyncFactoryImpl::CreateAutofillSyncComponents( 221 ProfileSyncFactoryImpl::CreateAutofillSyncComponents(
203 ProfileSyncService* profile_sync_service, 222 ProfileSyncService* profile_sync_service,
204 WebDatabase* web_database, 223 WebDatabase* web_database,
205 browser_sync::UnrecoverableErrorHandler* error_handler) { 224 browser_sync::UnrecoverableErrorHandler* error_handler) {
206 225
207 AutofillModelAssociator* model_associator = 226 AutofillModelAssociator* model_associator =
208 new AutofillModelAssociator(profile_sync_service, 227 new AutofillModelAssociator(profile_sync_service,
209 web_database, 228 web_database,
210 profile_sync_service->profile()); 229 profile_sync_service->profile());
211 AutofillChangeProcessor* change_processor = 230 AutofillChangeProcessor* change_processor =
212 new AutofillChangeProcessor(model_associator, 231 new AutofillChangeProcessor(model_associator,
213 web_database, 232 web_database,
214 profile_sync_service->profile(), 233 profile_sync_service->profile(),
215 error_handler); 234 error_handler);
216 return SyncComponents(model_associator, change_processor); 235 return SyncComponents(model_associator, change_processor);
217 } 236 }
218 237
219 ProfileSyncFactory::SyncComponents 238 base::WeakPtr<SyncableService>
220 ProfileSyncFactoryImpl::CreateAutofillProfileSyncComponents( 239 ProfileSyncFactoryImpl::GetAutofillProfileSyncableService(
221 ProfileSyncService* profile_sync_service, 240 WebDataService* web_data_service) const {
222 WebDataService* web_data_service, 241 return web_data_service->GetAutofillProfileSyncableService()->AsWeakPtr();
223 browser_sync::UnrecoverableErrorHandler* error_handler) {
224 AutofillProfileSyncableService* sync_service =
225 web_data_service->GetAutofillProfileSyncableService();
226 sync_api::UserShare* user_share = profile_sync_service->GetUserShare();
227 GenericChangeProcessor* change_processor =
228 new GenericChangeProcessor(sync_service, error_handler, user_share);
229 browser_sync::SyncableServiceAdapter* sync_service_adapter =
230 new browser_sync::SyncableServiceAdapter(syncable::AUTOFILL_PROFILE,
231 sync_service,
232 change_processor);
233 return SyncComponents(sync_service_adapter, change_processor);
234 } 242 }
235 243
236 ProfileSyncFactory::SyncComponents 244 ProfileSyncFactory::SyncComponents
237 ProfileSyncFactoryImpl::CreateBookmarkSyncComponents( 245 ProfileSyncFactoryImpl::CreateBookmarkSyncComponents(
238 ProfileSyncService* profile_sync_service, 246 ProfileSyncService* profile_sync_service,
239 UnrecoverableErrorHandler* error_handler) { 247 UnrecoverableErrorHandler* error_handler) {
240 BookmarkModel* bookmark_model = 248 BookmarkModel* bookmark_model =
241 profile_sync_service->profile()->GetBookmarkModel(); 249 profile_sync_service->profile()->GetBookmarkModel();
242 sync_api::UserShare* user_share = profile_sync_service->GetUserShare(); 250 sync_api::UserShare* user_share = profile_sync_service->GetUserShare();
243 BookmarkModelAssociator* model_associator = 251 BookmarkModelAssociator* model_associator =
244 new BookmarkModelAssociator(bookmark_model, 252 new BookmarkModelAssociator(bookmark_model,
245 user_share, 253 user_share,
246 error_handler); 254 error_handler);
247 BookmarkChangeProcessor* change_processor = 255 BookmarkChangeProcessor* change_processor =
248 new BookmarkChangeProcessor(model_associator, 256 new BookmarkChangeProcessor(model_associator,
249 error_handler); 257 error_handler);
250 return SyncComponents(model_associator, change_processor); 258 return SyncComponents(model_associator, change_processor);
251 } 259 }
252 260
253 ProfileSyncFactory::SyncComponents 261 ProfileSyncFactory::SyncComponents
254 ProfileSyncFactoryImpl::CreateExtensionSettingSyncComponents( 262 ProfileSyncFactoryImpl::CreateExtensionSettingSyncComponents(
255 ExtensionSettingsBackend* extension_settings_backend, 263 ExtensionSettingsBackend* extension_settings_backend,
256 ProfileSyncService* profile_sync_service, 264 ProfileSyncService* profile_sync_service,
257 UnrecoverableErrorHandler* error_handler) { 265 UnrecoverableErrorHandler* error_handler) {
258 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); 266 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
259 sync_api::UserShare* user_share = profile_sync_service->GetUserShare(); 267 sync_api::UserShare* user_share = profile_sync_service->GetUserShare();
260 GenericChangeProcessor* change_processor = 268 GenericChangeProcessor* change_processor =
261 new GenericChangeProcessor( 269 new GenericChangeProcessor(error_handler,
262 extension_settings_backend, 270 extension_settings_backend->AsWeakPtr(),
263 error_handler, 271 user_share);
264 user_share);
265 browser_sync::SyncableServiceAdapter* sync_service_adapter = 272 browser_sync::SyncableServiceAdapter* sync_service_adapter =
266 new browser_sync::SyncableServiceAdapter(syncable::EXTENSION_SETTINGS, 273 new browser_sync::SyncableServiceAdapter(syncable::EXTENSION_SETTINGS,
267 extension_settings_backend, 274 extension_settings_backend,
268 change_processor); 275 change_processor);
269 return SyncComponents(sync_service_adapter, change_processor); 276 return SyncComponents(sync_service_adapter, change_processor);
270 } 277 }
271 278
272 ProfileSyncFactory::SyncComponents 279 ProfileSyncFactory::SyncComponents
273 ProfileSyncFactoryImpl::CreateExtensionSyncComponents( 280 ProfileSyncFactoryImpl::CreateExtensionSyncComponents(
274 ProfileSyncService* profile_sync_service, 281 ProfileSyncService* profile_sync_service,
275 UnrecoverableErrorHandler* error_handler) { 282 UnrecoverableErrorHandler* error_handler) {
276 SyncableService* extension_sync_service = 283 base::WeakPtr<SyncableService> extension_sync_service =
277 profile_sync_service->profile()->GetExtensionService(); 284 profile_sync_service->profile()->GetExtensionService()->AsWeakPtr();
278 sync_api::UserShare* user_share = profile_sync_service->GetUserShare(); 285 sync_api::UserShare* user_share = profile_sync_service->GetUserShare();
279 GenericChangeProcessor* change_processor = 286 GenericChangeProcessor* change_processor =
280 new GenericChangeProcessor(extension_sync_service, error_handler, 287 new GenericChangeProcessor(error_handler,
281 user_share); 288 extension_sync_service,
289 user_share);
282 browser_sync::SyncableServiceAdapter* sync_service_adapter = 290 browser_sync::SyncableServiceAdapter* sync_service_adapter =
283 new browser_sync::SyncableServiceAdapter(syncable::EXTENSIONS, 291 new browser_sync::SyncableServiceAdapter(syncable::EXTENSIONS,
284 extension_sync_service, 292 extension_sync_service,
285 change_processor); 293 change_processor);
286 return SyncComponents(sync_service_adapter, change_processor); 294 return SyncComponents(sync_service_adapter, change_processor);
287 } 295 }
288 296
289 ProfileSyncFactory::SyncComponents 297 ProfileSyncFactory::SyncComponents
290 ProfileSyncFactoryImpl::CreatePasswordSyncComponents( 298 ProfileSyncFactoryImpl::CreatePasswordSyncComponents(
291 ProfileSyncService* profile_sync_service, 299 ProfileSyncService* profile_sync_service,
292 PasswordStore* password_store, 300 PasswordStore* password_store,
293 UnrecoverableErrorHandler* error_handler) { 301 UnrecoverableErrorHandler* error_handler) {
294 PasswordModelAssociator* model_associator = 302 PasswordModelAssociator* model_associator =
295 new PasswordModelAssociator(profile_sync_service, 303 new PasswordModelAssociator(profile_sync_service,
296 password_store); 304 password_store);
297 PasswordChangeProcessor* change_processor = 305 PasswordChangeProcessor* change_processor =
298 new PasswordChangeProcessor(model_associator, 306 new PasswordChangeProcessor(model_associator,
299 password_store, 307 password_store,
300 error_handler); 308 error_handler);
301 return SyncComponents(model_associator, change_processor); 309 return SyncComponents(model_associator, change_processor);
302 } 310 }
303 311
304 ProfileSyncFactory::SyncComponents 312 ProfileSyncFactory::SyncComponents
305 ProfileSyncFactoryImpl::CreatePreferenceSyncComponents( 313 ProfileSyncFactoryImpl::CreatePreferenceSyncComponents(
306 ProfileSyncService* profile_sync_service, 314 ProfileSyncService* profile_sync_service,
307 UnrecoverableErrorHandler* error_handler) { 315 UnrecoverableErrorHandler* error_handler) {
308 SyncableService* pref_sync_service = 316 base::WeakPtr<SyncableService> pref_sync_service =
309 profile_->GetPrefs()->GetSyncableService(); 317 profile_->GetPrefs()->GetSyncableService()->AsWeakPtr();
310 sync_api::UserShare* user_share = profile_sync_service->GetUserShare(); 318 sync_api::UserShare* user_share = profile_sync_service->GetUserShare();
311 GenericChangeProcessor* change_processor = 319 GenericChangeProcessor* change_processor =
312 new GenericChangeProcessor(pref_sync_service, error_handler, user_share); 320 new GenericChangeProcessor(error_handler,
321 pref_sync_service,
322 user_share);
313 SyncableServiceAdapter* sync_service_adapter = 323 SyncableServiceAdapter* sync_service_adapter =
314 new SyncableServiceAdapter(syncable::PREFERENCES, 324 new SyncableServiceAdapter(syncable::PREFERENCES,
315 pref_sync_service, 325 pref_sync_service,
316 change_processor); 326 change_processor);
317 return SyncComponents(sync_service_adapter, change_processor); 327 return SyncComponents(sync_service_adapter, change_processor);
318 } 328 }
319 329
320 ProfileSyncFactory::SyncComponents 330 ProfileSyncFactory::SyncComponents
321 ProfileSyncFactoryImpl::CreateThemeSyncComponents( 331 ProfileSyncFactoryImpl::CreateThemeSyncComponents(
322 ProfileSyncService* profile_sync_service, 332 ProfileSyncService* profile_sync_service,
(...skipping 29 matching lines...) Expand all
352 new SessionModelAssociator(profile_sync_service); 362 new SessionModelAssociator(profile_sync_service);
353 SessionChangeProcessor* change_processor = 363 SessionChangeProcessor* change_processor =
354 new SessionChangeProcessor(error_handler, model_associator); 364 new SessionChangeProcessor(error_handler, model_associator);
355 return SyncComponents(model_associator, change_processor); 365 return SyncComponents(model_associator, change_processor);
356 } 366 }
357 367
358 ProfileSyncFactory::SyncComponents 368 ProfileSyncFactory::SyncComponents
359 ProfileSyncFactoryImpl::CreateSearchEngineSyncComponents( 369 ProfileSyncFactoryImpl::CreateSearchEngineSyncComponents(
360 ProfileSyncService* profile_sync_service, 370 ProfileSyncService* profile_sync_service,
361 UnrecoverableErrorHandler* error_handler) { 371 UnrecoverableErrorHandler* error_handler) {
362 SyncableService* se_sync_service = 372 base::WeakPtr<SyncableService> se_sync_service =
363 TemplateURLServiceFactory::GetForProfile(profile_); 373 TemplateURLServiceFactory::GetForProfile(profile_)->AsWeakPtr();
364 DCHECK(se_sync_service); 374 DCHECK(se_sync_service);
365 sync_api::UserShare* user_share = profile_sync_service->GetUserShare(); 375 sync_api::UserShare* user_share = profile_sync_service->GetUserShare();
366 GenericChangeProcessor* change_processor = 376 GenericChangeProcessor* change_processor =
367 new GenericChangeProcessor(se_sync_service, error_handler, user_share); 377 new GenericChangeProcessor(error_handler,
378 se_sync_service,
379 user_share);
368 SyncableServiceAdapter* sync_service_adapter = 380 SyncableServiceAdapter* sync_service_adapter =
369 new SyncableServiceAdapter(syncable::SEARCH_ENGINES, 381 new SyncableServiceAdapter(syncable::SEARCH_ENGINES,
370 se_sync_service, 382 se_sync_service,
371 change_processor); 383 change_processor);
372 return SyncComponents(sync_service_adapter, change_processor); 384 return SyncComponents(sync_service_adapter, change_processor);
373 } 385 }
OLDNEW
« no previous file with comments | « chrome/browser/sync/profile_sync_factory_impl.h ('k') | chrome/browser/sync/profile_sync_factory_mock.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698