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