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

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

Issue 1310553005: [Sync] Replace ProfileSyncComponentsFactory with SyncClient (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Self review Created 5 years, 3 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
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 "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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698