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 "chrome/browser/sync/profile_sync_components_factory_impl.h" | 5 #include "chrome/browser/sync/profile_sync_components_factory_impl.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
9 #include "chrome/browser/bookmarks/bookmark_model_factory.h" | 9 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
10 #include "chrome/browser/dom_distiller/dom_distiller_service_factory.h" | 10 #include "chrome/browser/dom_distiller/dom_distiller_service_factory.h" |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
189 url_request_context_getter_(url_request_context_getter), | 189 url_request_context_getter_(url_request_context_getter), |
190 chrome_sync_client_(profile_, this), | 190 chrome_sync_client_(profile_, this), |
191 weak_factory_(this) { | 191 weak_factory_(this) { |
192 DCHECK(token_service_); | 192 DCHECK(token_service_); |
193 DCHECK(url_request_context_getter_); | 193 DCHECK(url_request_context_getter_); |
194 } | 194 } |
195 | 195 |
196 ProfileSyncComponentsFactoryImpl::~ProfileSyncComponentsFactoryImpl() { | 196 ProfileSyncComponentsFactoryImpl::~ProfileSyncComponentsFactoryImpl() { |
197 } | 197 } |
198 | 198 |
199 void ProfileSyncComponentsFactoryImpl::Initialize( | |
200 sync_driver::SyncService* sync_service) { | |
201 chrome_sync_client_.Initialize(sync_service); | |
202 } | |
203 | |
199 void ProfileSyncComponentsFactoryImpl::RegisterDataTypes( | 204 void ProfileSyncComponentsFactoryImpl::RegisterDataTypes( |
200 ProfileSyncService* pss) { | 205 sync_driver::SyncService* sync_service) { |
stanisc
2015/08/27 22:14:04
Why does this have to receive sync_service? Could
Nicolas Zea
2015/08/27 23:37:16
Done.
| |
201 syncer::ModelTypeSet disabled_types = | 206 syncer::ModelTypeSet disabled_types = |
202 GetDisabledTypesFromCommandLine(*command_line_); | 207 GetDisabledTypesFromCommandLine(*command_line_); |
203 syncer::ModelTypeSet enabled_types = | 208 syncer::ModelTypeSet enabled_types = |
204 GetEnabledTypesFromCommandLine(*command_line_); | 209 GetEnabledTypesFromCommandLine(*command_line_); |
205 RegisterCommonDataTypes(disabled_types, enabled_types, pss); | 210 RegisterCommonDataTypes(disabled_types, enabled_types, sync_service); |
206 #if !defined(OS_ANDROID) | 211 #if !defined(OS_ANDROID) |
207 RegisterDesktopDataTypes(disabled_types, enabled_types, pss); | 212 RegisterDesktopDataTypes(disabled_types, enabled_types, sync_service); |
208 #endif | 213 #endif |
209 } | 214 } |
210 | 215 |
211 void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes( | 216 void ProfileSyncComponentsFactoryImpl::RegisterCommonDataTypes( |
212 syncer::ModelTypeSet disabled_types, | 217 syncer::ModelTypeSet disabled_types, |
213 syncer::ModelTypeSet enabled_types, | 218 syncer::ModelTypeSet enabled_types, |
214 ProfileSyncService* pss) { | 219 sync_driver::SyncService* sync_service) { |
stanisc
2015/08/27 22:14:04
The same comment about sync_service as above.
Nicolas Zea
2015/08/27 23:37:16
Done.
| |
215 // TODO(stanisc): can DEVICE_INFO be one of disabled datatypes? | 220 // TODO(stanisc): can DEVICE_INFO be one of disabled datatypes? |
216 pss->RegisterDataTypeController(new DeviceInfoDataTypeController( | 221 sync_service->RegisterDataTypeController(new DeviceInfoDataTypeController( |
217 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 222 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
218 base::Bind(&ChromeReportUnrecoverableError), | 223 base::Bind(&ChromeReportUnrecoverableError), |
219 &chrome_sync_client_, | 224 &chrome_sync_client_, |
220 pss->GetLocalDeviceInfoProvider())); | 225 sync_service->GetLocalDeviceInfoProvider())); |
221 | 226 |
222 // Autofill sync is enabled by default. Register unless explicitly | 227 // Autofill sync is enabled by default. Register unless explicitly |
223 // disabled. | 228 // disabled. |
224 if (!disabled_types.Has(syncer::AUTOFILL)) { | 229 if (!disabled_types.Has(syncer::AUTOFILL)) { |
225 pss->RegisterDataTypeController( | 230 sync_service->RegisterDataTypeController( |
226 new AutofillDataTypeController(&chrome_sync_client_, profile_)); | 231 new AutofillDataTypeController(&chrome_sync_client_)); |
227 } | 232 } |
228 | 233 |
229 // Autofill profile sync is enabled by default. Register unless explicitly | 234 // Autofill profile sync is enabled by default. Register unless explicitly |
230 // disabled. | 235 // disabled. |
231 if (!disabled_types.Has(syncer::AUTOFILL_PROFILE)) { | 236 if (!disabled_types.Has(syncer::AUTOFILL_PROFILE)) { |
232 pss->RegisterDataTypeController( | 237 sync_service->RegisterDataTypeController( |
233 new AutofillProfileDataTypeController(&chrome_sync_client_, profile_)); | 238 new AutofillProfileDataTypeController(&chrome_sync_client_)); |
234 } | 239 } |
235 | 240 |
236 // Wallet data sync is enabled by default, but behind a syncer experiment | 241 // Wallet data sync is enabled by default, but behind a syncer experiment |
237 // enforced by the datatype controller. Register unless explicitly disabled. | 242 // enforced by the datatype controller. Register unless explicitly disabled. |
238 bool wallet_disabled = disabled_types.Has(syncer::AUTOFILL_WALLET_DATA); | 243 bool wallet_disabled = disabled_types.Has(syncer::AUTOFILL_WALLET_DATA); |
239 if (!wallet_disabled) { | 244 if (!wallet_disabled) { |
240 pss->RegisterDataTypeController( | 245 sync_service->RegisterDataTypeController( |
241 new browser_sync::AutofillWalletDataTypeController( | 246 new browser_sync::AutofillWalletDataTypeController( |
242 &chrome_sync_client_, profile_, syncer::AUTOFILL_WALLET_DATA)); | 247 &chrome_sync_client_, syncer::AUTOFILL_WALLET_DATA)); |
243 } | 248 } |
244 | 249 |
245 // Wallet metadata sync depends on Wallet data sync and is disabled by | 250 // Wallet metadata sync depends on Wallet data sync and is disabled by |
246 // default. Register if Wallet data is syncing and metadata sync is explicitly | 251 // default. Register if Wallet data is syncing and metadata sync is explicitly |
247 // enabled. | 252 // enabled. |
248 if (!wallet_disabled && enabled_types.Has(syncer::AUTOFILL_WALLET_METADATA)) { | 253 if (!wallet_disabled && enabled_types.Has(syncer::AUTOFILL_WALLET_METADATA)) { |
249 pss->RegisterDataTypeController( | 254 sync_service->RegisterDataTypeController( |
250 new browser_sync::AutofillWalletDataTypeController( | 255 new browser_sync::AutofillWalletDataTypeController( |
251 &chrome_sync_client_, profile_, syncer::AUTOFILL_WALLET_METADATA)); | 256 &chrome_sync_client_, syncer::AUTOFILL_WALLET_METADATA)); |
252 } | 257 } |
253 | 258 |
254 // Bookmark sync is enabled by default. Register unless explicitly | 259 // Bookmark sync is enabled by default. Register unless explicitly |
255 // disabled. | 260 // disabled. |
256 if (!disabled_types.Has(syncer::BOOKMARKS)) { | 261 if (!disabled_types.Has(syncer::BOOKMARKS)) { |
257 pss->RegisterDataTypeController( | 262 sync_service->RegisterDataTypeController( |
258 new BookmarkDataTypeController(&chrome_sync_client_, profile_, pss)); | 263 new BookmarkDataTypeController(&chrome_sync_client_)); |
259 } | 264 } |
260 | 265 |
261 const bool history_disabled = | 266 const bool history_disabled = |
262 profile_->GetPrefs()->GetBoolean(prefs::kSavingBrowserHistoryDisabled); | 267 profile_->GetPrefs()->GetBoolean(prefs::kSavingBrowserHistoryDisabled); |
263 // TypedUrl sync is enabled by default. Register unless explicitly disabled, | 268 // TypedUrl sync is enabled by default. Register unless explicitly disabled, |
264 // or if saving history is disabled. | 269 // or if saving history is disabled. |
265 if (!disabled_types.Has(syncer::TYPED_URLS) && !history_disabled) { | 270 if (!disabled_types.Has(syncer::TYPED_URLS) && !history_disabled) { |
266 pss->RegisterDataTypeController( | 271 sync_service->RegisterDataTypeController( |
267 new TypedUrlDataTypeController(&chrome_sync_client_, profile_, pss)); | 272 new TypedUrlDataTypeController(&chrome_sync_client_)); |
268 } | 273 } |
269 | 274 |
270 // Delete directive sync is enabled by default. Register unless full history | 275 // Delete directive sync is enabled by default. Register unless full history |
271 // sync is disabled. | 276 // sync is disabled. |
272 if (!disabled_types.Has(syncer::HISTORY_DELETE_DIRECTIVES) && | 277 if (!disabled_types.Has(syncer::HISTORY_DELETE_DIRECTIVES) && |
273 !history_disabled) { | 278 !history_disabled) { |
274 pss->RegisterDataTypeController( | 279 sync_service->RegisterDataTypeController( |
275 new HistoryDeleteDirectivesDataTypeController(&chrome_sync_client_, | 280 new HistoryDeleteDirectivesDataTypeController(&chrome_sync_client_)); |
276 pss)); | |
277 } | 281 } |
278 | 282 |
279 // Session sync is enabled by default. Register unless explicitly disabled. | 283 // Session sync is enabled by default. Register unless explicitly disabled. |
280 // This is also disabled if the browser history is disabled, because the | 284 // This is also disabled if the browser history is disabled, because the |
281 // tab sync data is added to the web history on the server. | 285 // tab sync data is added to the web history on the server. |
282 if (!disabled_types.Has(syncer::PROXY_TABS) && !history_disabled) { | 286 if (!disabled_types.Has(syncer::PROXY_TABS) && !history_disabled) { |
283 pss->RegisterDataTypeController(new ProxyDataTypeController( | 287 sync_service->RegisterDataTypeController(new ProxyDataTypeController( |
284 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 288 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
285 syncer::PROXY_TABS)); | 289 syncer::PROXY_TABS)); |
286 pss->RegisterDataTypeController( | 290 // TODO(zea): remove this once SyncedWindowDelegateGetter is componentized. |
stanisc
2015/08/27 22:14:04
Should this have a crbug reference?
Nicolas Zea
2015/08/27 23:37:16
Good point, done.
| |
287 new SessionDataTypeController(&chrome_sync_client_, | 291 // For now, we know that the implementation of SyncService is always a |
288 profile_, | 292 // ProfileSyncService at this level. |
289 pss->GetSyncedWindowDelegatesGetter(), | 293 ProfileSyncService* pss = static_cast<ProfileSyncService*>(sync_service); |
290 pss->GetLocalDeviceInfoProvider())); | 294 sync_service->RegisterDataTypeController(new SessionDataTypeController( |
295 &chrome_sync_client_, profile_, pss->GetSyncedWindowDelegatesGetter(), | |
296 sync_service->GetLocalDeviceInfoProvider())); | |
291 } | 297 } |
292 | 298 |
293 // Favicon sync is enabled by default. Register unless explicitly disabled. | 299 // Favicon sync is enabled by default. Register unless explicitly disabled. |
294 if (!disabled_types.Has(syncer::FAVICON_IMAGES) && | 300 if (!disabled_types.Has(syncer::FAVICON_IMAGES) && |
295 !disabled_types.Has(syncer::FAVICON_TRACKING) && | 301 !disabled_types.Has(syncer::FAVICON_TRACKING) && |
296 !history_disabled) { | 302 !history_disabled) { |
297 // crbug/384552. We disable error uploading for this data types for now. | 303 // crbug/384552. We disable error uploading for this data types for now. |
298 pss->RegisterDataTypeController( | 304 sync_service->RegisterDataTypeController( |
299 new UIDataTypeController( | 305 new UIDataTypeController( |
300 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 306 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
301 base::Closure(), | 307 base::Closure(), |
302 syncer::FAVICON_IMAGES, | 308 syncer::FAVICON_IMAGES, |
303 &chrome_sync_client_)); | 309 &chrome_sync_client_)); |
304 pss->RegisterDataTypeController( | 310 sync_service->RegisterDataTypeController( |
305 new UIDataTypeController( | 311 new UIDataTypeController( |
306 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 312 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
307 base::Closure(), | 313 base::Closure(), |
308 syncer::FAVICON_TRACKING, | 314 syncer::FAVICON_TRACKING, |
309 &chrome_sync_client_)); | 315 &chrome_sync_client_)); |
310 } | 316 } |
311 | 317 |
312 // Password sync is enabled by default. Register unless explicitly | 318 // Password sync is enabled by default. Register unless explicitly |
313 // disabled. | 319 // disabled. |
314 if (!disabled_types.Has(syncer::PASSWORDS)) { | 320 if (!disabled_types.Has(syncer::PASSWORDS)) { |
315 pss->RegisterDataTypeController( | 321 sync_service->RegisterDataTypeController( |
316 new PasswordDataTypeController(&chrome_sync_client_, profile_)); | 322 new PasswordDataTypeController(&chrome_sync_client_, profile_)); |
317 } | 323 } |
318 | 324 |
319 if (!disabled_types.Has(syncer::PRIORITY_PREFERENCES)) { | 325 if (!disabled_types.Has(syncer::PRIORITY_PREFERENCES)) { |
320 pss->RegisterDataTypeController( | 326 sync_service->RegisterDataTypeController( |
321 new UIDataTypeController( | 327 new UIDataTypeController( |
322 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 328 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
323 base::Bind(&ChromeReportUnrecoverableError), | 329 base::Bind(&ChromeReportUnrecoverableError), |
324 syncer::PRIORITY_PREFERENCES, | 330 syncer::PRIORITY_PREFERENCES, |
325 &chrome_sync_client_)); | 331 &chrome_sync_client_)); |
326 } | 332 } |
327 | 333 |
328 // Article sync is disabled by default. Register only if explicitly enabled. | 334 // Article sync is disabled by default. Register only if explicitly enabled. |
329 if (dom_distiller::IsEnableSyncArticlesSet()) { | 335 if (dom_distiller::IsEnableSyncArticlesSet()) { |
330 pss->RegisterDataTypeController( | 336 sync_service->RegisterDataTypeController( |
331 new UIDataTypeController( | 337 new UIDataTypeController( |
332 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 338 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
333 base::Bind(&ChromeReportUnrecoverableError), | 339 base::Bind(&ChromeReportUnrecoverableError), |
334 syncer::ARTICLES, | 340 syncer::ARTICLES, |
335 &chrome_sync_client_)); | 341 &chrome_sync_client_)); |
336 } | 342 } |
337 | 343 |
338 #if defined(ENABLE_SUPERVISED_USERS) | 344 #if defined(ENABLE_SUPERVISED_USERS) |
339 pss->RegisterDataTypeController( | 345 sync_service->RegisterDataTypeController( |
340 new SupervisedUserSyncDataTypeController( | 346 new SupervisedUserSyncDataTypeController( |
341 syncer::SUPERVISED_USER_SETTINGS, | 347 syncer::SUPERVISED_USER_SETTINGS, |
342 this, | 348 &chrome_sync_client_, |
343 profile_)); | 349 profile_)); |
344 pss->RegisterDataTypeController( | 350 sync_service->RegisterDataTypeController( |
345 new SupervisedUserSyncDataTypeController( | 351 new SupervisedUserSyncDataTypeController( |
346 syncer::SUPERVISED_USER_WHITELISTS, | 352 syncer::SUPERVISED_USER_WHITELISTS, |
347 this, | 353 &chrome_sync_client_, |
348 profile_)); | 354 profile_)); |
349 #endif | 355 #endif |
350 } | 356 } |
351 | 357 |
352 void ProfileSyncComponentsFactoryImpl::RegisterDesktopDataTypes( | 358 void ProfileSyncComponentsFactoryImpl::RegisterDesktopDataTypes( |
353 syncer::ModelTypeSet disabled_types, | 359 syncer::ModelTypeSet disabled_types, |
354 syncer::ModelTypeSet enabled_types, | 360 syncer::ModelTypeSet enabled_types, |
355 ProfileSyncService* pss) { | 361 sync_driver::SyncService* sync_service) { |
356 #if defined(ENABLE_EXTENSIONS) | 362 #if defined(ENABLE_EXTENSIONS) |
357 // App sync is enabled by default. Register unless explicitly | 363 // App sync is enabled by default. Register unless explicitly |
358 // disabled. | 364 // disabled. |
359 if (!disabled_types.Has(syncer::APPS)) { | 365 if (!disabled_types.Has(syncer::APPS)) { |
360 pss->RegisterDataTypeController(new ExtensionDataTypeController( | 366 sync_service->RegisterDataTypeController(new ExtensionDataTypeController( |
361 syncer::APPS, &chrome_sync_client_, profile_)); | 367 syncer::APPS, &chrome_sync_client_, profile_)); |
362 } | 368 } |
363 | 369 |
364 // Extension sync is enabled by default. Register unless explicitly | 370 // Extension sync is enabled by default. Register unless explicitly |
365 // disabled. | 371 // disabled. |
366 if (!disabled_types.Has(syncer::EXTENSIONS)) { | 372 if (!disabled_types.Has(syncer::EXTENSIONS)) { |
367 pss->RegisterDataTypeController(new ExtensionDataTypeController( | 373 sync_service->RegisterDataTypeController(new ExtensionDataTypeController( |
368 syncer::EXTENSIONS, &chrome_sync_client_, profile_)); | 374 syncer::EXTENSIONS, &chrome_sync_client_, profile_)); |
369 } | 375 } |
370 #endif | 376 #endif |
371 | 377 |
372 // Preference sync is enabled by default. Register unless explicitly | 378 // Preference sync is enabled by default. Register unless explicitly |
373 // disabled. | 379 // disabled. |
374 if (!disabled_types.Has(syncer::PREFERENCES)) { | 380 if (!disabled_types.Has(syncer::PREFERENCES)) { |
375 pss->RegisterDataTypeController( | 381 sync_service->RegisterDataTypeController( |
376 new UIDataTypeController( | 382 new UIDataTypeController( |
377 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 383 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
378 base::Bind(&ChromeReportUnrecoverableError), | 384 base::Bind(&ChromeReportUnrecoverableError), |
379 syncer::PREFERENCES, | 385 syncer::PREFERENCES, |
380 &chrome_sync_client_)); | 386 &chrome_sync_client_)); |
381 } | 387 } |
382 | 388 |
383 #if defined(ENABLE_THEMES) | 389 #if defined(ENABLE_THEMES) |
384 // Theme sync is enabled by default. Register unless explicitly disabled. | 390 // Theme sync is enabled by default. Register unless explicitly disabled. |
385 if (!disabled_types.Has(syncer::THEMES)) { | 391 if (!disabled_types.Has(syncer::THEMES)) { |
386 pss->RegisterDataTypeController( | 392 sync_service->RegisterDataTypeController( |
387 new ThemeDataTypeController(&chrome_sync_client_, profile_)); | 393 new ThemeDataTypeController(&chrome_sync_client_, profile_)); |
388 } | 394 } |
389 #endif | 395 #endif |
390 | 396 |
391 // Search Engine sync is enabled by default. Register unless explicitly | 397 // Search Engine sync is enabled by default. Register unless explicitly |
392 // disabled. | 398 // disabled. |
393 if (!disabled_types.Has(syncer::SEARCH_ENGINES)) { | 399 if (!disabled_types.Has(syncer::SEARCH_ENGINES)) { |
394 pss->RegisterDataTypeController( | 400 sync_service->RegisterDataTypeController( |
395 new SearchEngineDataTypeController(&chrome_sync_client_, profile_)); | 401 new SearchEngineDataTypeController(&chrome_sync_client_, profile_)); |
396 } | 402 } |
397 | 403 |
398 #if defined(ENABLE_EXTENSIONS) | 404 #if defined(ENABLE_EXTENSIONS) |
399 // Extension setting sync is enabled by default. Register unless explicitly | 405 // Extension setting sync is enabled by default. Register unless explicitly |
400 // disabled. | 406 // disabled. |
401 if (!disabled_types.Has(syncer::EXTENSION_SETTINGS)) { | 407 if (!disabled_types.Has(syncer::EXTENSION_SETTINGS)) { |
402 pss->RegisterDataTypeController(new ExtensionSettingDataTypeController( | 408 sync_service->RegisterDataTypeController( |
403 syncer::EXTENSION_SETTINGS, &chrome_sync_client_, profile_)); | 409 new ExtensionSettingDataTypeController(syncer::EXTENSION_SETTINGS, |
410 &chrome_sync_client_, profile_)); | |
404 } | 411 } |
405 | 412 |
406 // App setting sync is enabled by default. Register unless explicitly | 413 // App setting sync is enabled by default. Register unless explicitly |
407 // disabled. | 414 // disabled. |
408 if (!disabled_types.Has(syncer::APP_SETTINGS)) { | 415 if (!disabled_types.Has(syncer::APP_SETTINGS)) { |
409 pss->RegisterDataTypeController(new ExtensionSettingDataTypeController( | 416 sync_service->RegisterDataTypeController( |
410 syncer::APP_SETTINGS, &chrome_sync_client_, profile_)); | 417 new ExtensionSettingDataTypeController(syncer::APP_SETTINGS, |
418 &chrome_sync_client_, profile_)); | |
411 } | 419 } |
412 #endif | 420 #endif |
413 | 421 |
414 #if defined(ENABLE_APP_LIST) | 422 #if defined(ENABLE_APP_LIST) |
415 if (app_list::switches::IsAppListSyncEnabled()) { | 423 if (app_list::switches::IsAppListSyncEnabled()) { |
416 pss->RegisterDataTypeController( | 424 sync_service->RegisterDataTypeController( |
417 new UIDataTypeController( | 425 new UIDataTypeController( |
418 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 426 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
419 base::Bind(&ChromeReportUnrecoverableError), | 427 base::Bind(&ChromeReportUnrecoverableError), |
420 syncer::APP_LIST, | 428 syncer::APP_LIST, |
421 &chrome_sync_client_)); | 429 &chrome_sync_client_)); |
422 } | 430 } |
423 #endif | 431 #endif |
424 | 432 |
425 #if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS) | 433 #if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS) |
426 // Dictionary sync is enabled by default. | 434 // Dictionary sync is enabled by default. |
427 if (!disabled_types.Has(syncer::DICTIONARY)) { | 435 if (!disabled_types.Has(syncer::DICTIONARY)) { |
428 pss->RegisterDataTypeController( | 436 sync_service->RegisterDataTypeController( |
429 new UIDataTypeController( | 437 new UIDataTypeController( |
430 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 438 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
431 base::Bind(&ChromeReportUnrecoverableError), | 439 base::Bind(&ChromeReportUnrecoverableError), |
432 syncer::DICTIONARY, | 440 syncer::DICTIONARY, |
433 &chrome_sync_client_)); | 441 &chrome_sync_client_)); |
434 } | 442 } |
435 #endif | 443 #endif |
436 | 444 |
437 #if defined(ENABLE_SUPERVISED_USERS) | 445 #if defined(ENABLE_SUPERVISED_USERS) |
438 pss->RegisterDataTypeController( | 446 sync_service->RegisterDataTypeController( |
439 new SupervisedUserSyncDataTypeController( | 447 new SupervisedUserSyncDataTypeController( |
440 syncer::SUPERVISED_USERS, | 448 syncer::SUPERVISED_USERS, |
441 this, | 449 &chrome_sync_client_, |
442 profile_)); | 450 profile_)); |
443 pss->RegisterDataTypeController( | 451 sync_service->RegisterDataTypeController( |
444 new SupervisedUserSyncDataTypeController( | 452 new SupervisedUserSyncDataTypeController( |
445 syncer::SUPERVISED_USER_SHARED_SETTINGS, | 453 syncer::SUPERVISED_USER_SHARED_SETTINGS, |
446 this, | 454 &chrome_sync_client_, |
447 profile_)); | 455 profile_)); |
448 #endif | 456 #endif |
449 | 457 |
450 #if defined(OS_CHROMEOS) | 458 #if defined(OS_CHROMEOS) |
451 if (command_line_->HasSwitch(switches::kEnableWifiCredentialSync) && | 459 if (command_line_->HasSwitch(switches::kEnableWifiCredentialSync) && |
452 !disabled_types.Has(syncer::WIFI_CREDENTIALS)) { | 460 !disabled_types.Has(syncer::WIFI_CREDENTIALS)) { |
453 pss->RegisterDataTypeController( | 461 sync_service->RegisterDataTypeController( |
454 new UIDataTypeController( | 462 new UIDataTypeController( |
455 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | 463 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), |
456 base::Bind(&ChromeReportUnrecoverableError), | 464 base::Bind(&ChromeReportUnrecoverableError), |
457 syncer::WIFI_CREDENTIALS, | 465 syncer::WIFI_CREDENTIALS, |
458 &chrome_sync_client_)); | 466 &chrome_sync_client_)); |
459 } | 467 } |
460 #endif | 468 #endif |
461 } | 469 } |
462 | 470 |
463 DataTypeManager* ProfileSyncComponentsFactoryImpl::CreateDataTypeManager( | 471 DataTypeManager* ProfileSyncComponentsFactoryImpl::CreateDataTypeManager( |
464 const syncer::WeakHandle<syncer::DataTypeDebugInfoListener>& | 472 const syncer::WeakHandle<syncer::DataTypeDebugInfoListener>& |
465 debug_info_listener, | 473 debug_info_listener, |
466 const DataTypeController::TypeMap* controllers, | 474 const DataTypeController::TypeMap* controllers, |
467 const sync_driver::DataTypeEncryptionHandler* encryption_handler, | 475 const sync_driver::DataTypeEncryptionHandler* encryption_handler, |
468 SyncBackendHost* backend, | 476 SyncBackendHost* backend, |
469 DataTypeManagerObserver* observer) { | 477 DataTypeManagerObserver* observer) { |
470 return new DataTypeManagerImpl(base::Bind(ChromeReportUnrecoverableError), | 478 return new DataTypeManagerImpl(base::Bind(ChromeReportUnrecoverableError), |
471 debug_info_listener, | 479 debug_info_listener, |
472 controllers, | 480 controllers, |
473 encryption_handler, | 481 encryption_handler, |
474 backend, | 482 backend, |
475 observer); | 483 observer); |
476 } | 484 } |
477 | 485 |
478 browser_sync::SyncBackendHost* | 486 browser_sync::SyncBackendHost* |
479 ProfileSyncComponentsFactoryImpl::CreateSyncBackendHost( | 487 ProfileSyncComponentsFactoryImpl::CreateSyncBackendHost( |
480 const std::string& name, | 488 const std::string& name, |
481 Profile* profile, | |
482 invalidation::InvalidationService* invalidator, | 489 invalidation::InvalidationService* invalidator, |
483 const base::WeakPtr<sync_driver::SyncPrefs>& sync_prefs, | 490 const base::WeakPtr<sync_driver::SyncPrefs>& sync_prefs, |
484 const base::FilePath& sync_folder) { | 491 const base::FilePath& sync_folder) { |
485 return new browser_sync::SyncBackendHostImpl(name, profile, invalidator, | 492 return new browser_sync::SyncBackendHostImpl(name, profile_, invalidator, |
486 sync_prefs, sync_folder); | 493 sync_prefs, sync_folder); |
487 } | 494 } |
488 | 495 |
489 scoped_ptr<sync_driver::LocalDeviceInfoProvider> | 496 scoped_ptr<sync_driver::LocalDeviceInfoProvider> |
490 ProfileSyncComponentsFactoryImpl::CreateLocalDeviceInfoProvider() { | 497 ProfileSyncComponentsFactoryImpl::CreateLocalDeviceInfoProvider() { |
491 return scoped_ptr<sync_driver::LocalDeviceInfoProvider>( | 498 return scoped_ptr<sync_driver::LocalDeviceInfoProvider>( |
492 new browser_sync::LocalDeviceInfoProviderImpl()); | 499 new browser_sync::LocalDeviceInfoProviderImpl()); |
493 } | 500 } |
494 | 501 |
495 class TokenServiceProvider | 502 class TokenServiceProvider |
(...skipping 26 matching lines...) Expand all Loading... | |
522 | 529 |
523 scoped_refptr<base::SingleThreadTaskRunner> | 530 scoped_refptr<base::SingleThreadTaskRunner> |
524 TokenServiceProvider::GetTokenServiceTaskRunner() { | 531 TokenServiceProvider::GetTokenServiceTaskRunner() { |
525 return task_runner_; | 532 return task_runner_; |
526 } | 533 } |
527 | 534 |
528 OAuth2TokenService* TokenServiceProvider::GetTokenService() { | 535 OAuth2TokenService* TokenServiceProvider::GetTokenService() { |
529 return token_service_; | 536 return token_service_; |
530 } | 537 } |
531 | 538 |
532 base::WeakPtr<syncer::SyncableService> | |
533 ProfileSyncComponentsFactoryImpl::GetSyncableServiceForType( | |
534 syncer::ModelType type) { | |
535 return chrome_sync_client_.GetSyncableServiceForType(type); | |
536 } | |
537 | |
538 scoped_ptr<syncer::AttachmentService> | 539 scoped_ptr<syncer::AttachmentService> |
539 ProfileSyncComponentsFactoryImpl::CreateAttachmentService( | 540 ProfileSyncComponentsFactoryImpl::CreateAttachmentService( |
540 scoped_ptr<syncer::AttachmentStoreForSync> attachment_store, | 541 scoped_ptr<syncer::AttachmentStoreForSync> attachment_store, |
541 const syncer::UserShare& user_share, | 542 const syncer::UserShare& user_share, |
542 const std::string& store_birthday, | 543 const std::string& store_birthday, |
543 syncer::ModelType model_type, | 544 syncer::ModelType model_type, |
544 syncer::AttachmentService::Delegate* delegate) { | 545 syncer::AttachmentService::Delegate* delegate) { |
545 scoped_ptr<syncer::AttachmentUploader> attachment_uploader; | 546 scoped_ptr<syncer::AttachmentUploader> attachment_uploader; |
546 scoped_ptr<syncer::AttachmentDownloader> attachment_downloader; | 547 scoped_ptr<syncer::AttachmentDownloader> attachment_downloader; |
547 // Only construct an AttachmentUploader and AttachmentDownload if we have sync | 548 // Only construct an AttachmentUploader and AttachmentDownload if we have sync |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
582 base::TimeDelta::FromMinutes(30); | 583 base::TimeDelta::FromMinutes(30); |
583 const base::TimeDelta max_backoff_delay = base::TimeDelta::FromHours(4); | 584 const base::TimeDelta max_backoff_delay = base::TimeDelta::FromHours(4); |
584 scoped_ptr<syncer::AttachmentService> attachment_service( | 585 scoped_ptr<syncer::AttachmentService> attachment_service( |
585 new syncer::AttachmentServiceImpl( | 586 new syncer::AttachmentServiceImpl( |
586 attachment_store.Pass(), attachment_uploader.Pass(), | 587 attachment_store.Pass(), attachment_uploader.Pass(), |
587 attachment_downloader.Pass(), delegate, initial_backoff_delay, | 588 attachment_downloader.Pass(), delegate, initial_backoff_delay, |
588 max_backoff_delay)); | 589 max_backoff_delay)); |
589 return attachment_service.Pass(); | 590 return attachment_service.Pass(); |
590 } | 591 } |
591 | 592 |
592 ProfileSyncComponentsFactory::SyncComponents | 593 sync_driver::SyncApiComponentFactory::SyncComponents |
593 ProfileSyncComponentsFactoryImpl::CreateBookmarkSyncComponents( | 594 ProfileSyncComponentsFactoryImpl::CreateBookmarkSyncComponents( |
594 ProfileSyncService* profile_sync_service, | 595 sync_driver::SyncService* sync_service, |
595 sync_driver::DataTypeErrorHandler* error_handler) { | 596 sync_driver::DataTypeErrorHandler* error_handler) { |
596 BookmarkModel* bookmark_model = | 597 BookmarkModel* bookmark_model = |
597 BookmarkModelFactory::GetForProfile(profile_sync_service->profile()); | 598 BookmarkModelFactory::GetForProfile(profile_); |
598 syncer::UserShare* user_share = profile_sync_service->GetUserShare(); | 599 syncer::UserShare* user_share = sync_service->GetUserShare(); |
599 // TODO(akalin): We may want to propagate this switch up eventually. | 600 // TODO(akalin): We may want to propagate this switch up eventually. |
600 #if defined(OS_ANDROID) | 601 #if defined(OS_ANDROID) |
601 const bool kExpectMobileBookmarksFolder = true; | 602 const bool kExpectMobileBookmarksFolder = true; |
602 #else | 603 #else |
603 const bool kExpectMobileBookmarksFolder = false; | 604 const bool kExpectMobileBookmarksFolder = false; |
604 #endif | 605 #endif |
605 BookmarkModelAssociator* model_associator = | 606 BookmarkModelAssociator* model_associator = |
606 new BookmarkModelAssociator(bookmark_model, | 607 new BookmarkModelAssociator(bookmark_model, |
607 profile_sync_service->profile(), | 608 profile_, |
608 user_share, | 609 user_share, |
609 error_handler, | 610 error_handler, |
610 kExpectMobileBookmarksFolder); | 611 kExpectMobileBookmarksFolder); |
611 BookmarkChangeProcessor* change_processor = | 612 BookmarkChangeProcessor* change_processor = |
612 new BookmarkChangeProcessor(profile_sync_service->profile(), | 613 new BookmarkChangeProcessor(profile_, |
613 model_associator, | 614 model_associator, |
614 error_handler); | 615 error_handler); |
615 return SyncComponents(model_associator, change_processor); | 616 return SyncComponents(model_associator, change_processor); |
616 } | 617 } |
617 | 618 |
618 ProfileSyncComponentsFactory::SyncComponents | 619 sync_driver::SyncApiComponentFactory::SyncComponents |
619 ProfileSyncComponentsFactoryImpl::CreateTypedUrlSyncComponents( | 620 ProfileSyncComponentsFactoryImpl::CreateTypedUrlSyncComponents( |
620 ProfileSyncService* profile_sync_service, | 621 sync_driver::SyncService* sync_service, |
621 history::HistoryBackend* history_backend, | 622 history::HistoryBackend* history_backend, |
622 sync_driver::DataTypeErrorHandler* error_handler) { | 623 sync_driver::DataTypeErrorHandler* error_handler) { |
624 // TODO(zea): Once TypedURLs are converted to SyncableService, remove | |
625 // |sync_service_| member, and make GetSyncService require it be called on | |
626 // the UI thread. | |
623 TypedUrlModelAssociator* model_associator = | 627 TypedUrlModelAssociator* model_associator = |
624 new TypedUrlModelAssociator(profile_sync_service, | 628 new TypedUrlModelAssociator(sync_service, |
625 history_backend, | 629 history_backend, |
626 error_handler); | 630 error_handler); |
627 TypedUrlChangeProcessor* change_processor = | 631 TypedUrlChangeProcessor* change_processor = |
628 new TypedUrlChangeProcessor(profile_, | 632 new TypedUrlChangeProcessor(profile_, |
629 model_associator, | 633 model_associator, |
630 history_backend, | 634 history_backend, |
631 error_handler); | 635 error_handler); |
632 return SyncComponents(model_associator, change_processor); | 636 return SyncComponents(model_associator, change_processor); |
633 } | 637 } |
OLD | NEW |