OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/chrome_sync_client.h" | 5 #include "chrome/browser/sync/chrome_sync_client.h" |
6 | 6 |
| 7 #include <memory> |
7 #include <utility> | 8 #include <utility> |
8 | 9 |
9 #include "base/bind.h" | 10 #include "base/bind.h" |
10 #include "base/command_line.h" | 11 #include "base/command_line.h" |
11 #include "base/macros.h" | 12 #include "base/macros.h" |
12 #include "base/memory/ptr_util.h" | 13 #include "base/memory/ptr_util.h" |
13 #include "build/build_config.h" | 14 #include "build/build_config.h" |
14 #include "chrome/browser/autofill/personal_data_manager_factory.h" | 15 #include "chrome/browser/autofill/personal_data_manager_factory.h" |
15 #include "chrome/browser/bookmarks/bookmark_model_factory.h" | 16 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
16 #include "chrome/browser/browser_process.h" | 17 #include "chrome/browser/browser_process.h" |
(...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
506 } | 507 } |
507 } | 508 } |
508 } | 509 } |
509 | 510 |
510 void ChromeSyncClient::RegisterDesktopDataTypes( | 511 void ChromeSyncClient::RegisterDesktopDataTypes( |
511 sync_driver::SyncService* sync_service, | 512 sync_driver::SyncService* sync_service, |
512 syncer::ModelTypeSet disabled_types, | 513 syncer::ModelTypeSet disabled_types, |
513 syncer::ModelTypeSet enabled_types) { | 514 syncer::ModelTypeSet enabled_types) { |
514 base::Closure error_callback = | 515 base::Closure error_callback = |
515 base::Bind(&ChromeReportUnrecoverableError, chrome::GetChannel()); | 516 base::Bind(&ChromeReportUnrecoverableError, chrome::GetChannel()); |
516 const scoped_refptr<base::SingleThreadTaskRunner> ui_thread = | |
517 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI); | |
518 | 517 |
519 #if defined(ENABLE_EXTENSIONS) | 518 #if defined(ENABLE_EXTENSIONS) |
520 // App sync is enabled by default. Register unless explicitly | 519 // App sync is enabled by default. Register unless explicitly |
521 // disabled. | 520 // disabled. |
522 if (!disabled_types.Has(syncer::APPS)) { | 521 if (!disabled_types.Has(syncer::APPS)) { |
523 sync_service->RegisterDataTypeController(new ExtensionDataTypeController( | 522 sync_service->RegisterDataTypeController( |
524 syncer::APPS, error_callback, this, profile_)); | 523 base::MakeUnique<ExtensionDataTypeController>( |
| 524 syncer::APPS, error_callback, this, profile_)); |
525 } | 525 } |
526 | 526 |
527 // Extension sync is enabled by default. Register unless explicitly | 527 // Extension sync is enabled by default. Register unless explicitly |
528 // disabled. | 528 // disabled. |
529 if (!disabled_types.Has(syncer::EXTENSIONS)) { | 529 if (!disabled_types.Has(syncer::EXTENSIONS)) { |
530 sync_service->RegisterDataTypeController(new ExtensionDataTypeController( | 530 sync_service->RegisterDataTypeController( |
531 syncer::EXTENSIONS, error_callback, this, profile_)); | 531 base::MakeUnique<ExtensionDataTypeController>( |
| 532 syncer::EXTENSIONS, error_callback, this, profile_)); |
532 } | 533 } |
533 #endif | 534 #endif |
534 | 535 |
535 #if defined(ENABLE_THEMES) | 536 #if defined(ENABLE_THEMES) |
536 // Theme sync is enabled by default. Register unless explicitly disabled. | 537 // Theme sync is enabled by default. Register unless explicitly disabled. |
537 if (!disabled_types.Has(syncer::THEMES)) { | 538 if (!disabled_types.Has(syncer::THEMES)) { |
538 sync_service->RegisterDataTypeController( | 539 sync_service->RegisterDataTypeController( |
539 new ThemeDataTypeController(error_callback, this, profile_)); | 540 base::MakeUnique<ThemeDataTypeController>(error_callback, this, |
| 541 profile_)); |
540 } | 542 } |
541 #endif | 543 #endif |
542 | 544 |
543 // Search Engine sync is enabled by default. Register unless explicitly | 545 // Search Engine sync is enabled by default. Register unless explicitly |
544 // disabled. | 546 // disabled. |
545 if (!disabled_types.Has(syncer::SEARCH_ENGINES)) { | 547 if (!disabled_types.Has(syncer::SEARCH_ENGINES)) { |
546 sync_service->RegisterDataTypeController(new SearchEngineDataTypeController( | 548 sync_service->RegisterDataTypeController( |
547 ui_thread, error_callback, this, | 549 base::MakeUnique<SearchEngineDataTypeController>( |
548 TemplateURLServiceFactory::GetForProfile(profile_))); | 550 error_callback, this, |
| 551 TemplateURLServiceFactory::GetForProfile(profile_))); |
549 } | 552 } |
550 | 553 |
551 #if defined(ENABLE_EXTENSIONS) | 554 #if defined(ENABLE_EXTENSIONS) |
552 // Extension setting sync is enabled by default. Register unless explicitly | 555 // Extension setting sync is enabled by default. Register unless explicitly |
553 // disabled. | 556 // disabled. |
554 if (!disabled_types.Has(syncer::EXTENSION_SETTINGS)) { | 557 if (!disabled_types.Has(syncer::EXTENSION_SETTINGS)) { |
555 sync_service->RegisterDataTypeController( | 558 sync_service->RegisterDataTypeController( |
556 new ExtensionSettingDataTypeController(syncer::EXTENSION_SETTINGS, | 559 base::MakeUnique<ExtensionSettingDataTypeController>( |
557 error_callback, this, profile_)); | 560 syncer::EXTENSION_SETTINGS, error_callback, this, profile_)); |
558 } | 561 } |
559 | 562 |
560 // App setting sync is enabled by default. Register unless explicitly | 563 // App setting sync is enabled by default. Register unless explicitly |
561 // disabled. | 564 // disabled. |
562 if (!disabled_types.Has(syncer::APP_SETTINGS)) { | 565 if (!disabled_types.Has(syncer::APP_SETTINGS)) { |
563 sync_service->RegisterDataTypeController( | 566 sync_service->RegisterDataTypeController( |
564 new ExtensionSettingDataTypeController(syncer::APP_SETTINGS, | 567 base::MakeUnique<ExtensionSettingDataTypeController>( |
565 error_callback, this, profile_)); | 568 syncer::APP_SETTINGS, error_callback, this, profile_)); |
566 } | 569 } |
567 #endif | 570 #endif |
568 | 571 |
569 #if defined(ENABLE_APP_LIST) | 572 #if defined(ENABLE_APP_LIST) |
570 if (app_list::switches::IsAppListSyncEnabled()) { | 573 if (app_list::switches::IsAppListSyncEnabled()) { |
571 sync_service->RegisterDataTypeController(new UIDataTypeController( | 574 sync_service->RegisterDataTypeController( |
572 ui_thread, error_callback, syncer::APP_LIST, this)); | 575 base::MakeUnique<UIDataTypeController>(syncer::APP_LIST, error_callback, |
| 576 this)); |
573 } | 577 } |
574 #endif | 578 #endif |
575 | 579 |
576 #if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS) | 580 #if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS) |
577 // Dictionary sync is enabled by default. | 581 // Dictionary sync is enabled by default. |
578 if (!disabled_types.Has(syncer::DICTIONARY)) { | 582 if (!disabled_types.Has(syncer::DICTIONARY)) { |
579 sync_service->RegisterDataTypeController(new UIDataTypeController( | 583 sync_service->RegisterDataTypeController( |
580 ui_thread, error_callback, syncer::DICTIONARY, this)); | 584 base::MakeUnique<UIDataTypeController>(syncer::DICTIONARY, |
| 585 error_callback, this)); |
581 } | 586 } |
582 #endif | 587 #endif |
583 | 588 |
584 #if defined(ENABLE_SUPERVISED_USERS) | 589 #if defined(ENABLE_SUPERVISED_USERS) |
585 sync_service->RegisterDataTypeController( | 590 sync_service->RegisterDataTypeController( |
586 new SupervisedUserSyncDataTypeController(syncer::SUPERVISED_USER_SETTINGS, | 591 base::MakeUnique<SupervisedUserSyncDataTypeController>( |
587 error_callback, this, profile_)); | 592 syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_)); |
588 sync_service->RegisterDataTypeController( | 593 sync_service->RegisterDataTypeController( |
589 new SupervisedUserSyncDataTypeController( | 594 base::MakeUnique<SupervisedUserSyncDataTypeController>( |
590 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); | 595 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); |
591 sync_service->RegisterDataTypeController( | 596 sync_service->RegisterDataTypeController( |
592 new SupervisedUserSyncDataTypeController(syncer::SUPERVISED_USERS, | 597 base::MakeUnique<SupervisedUserSyncDataTypeController>( |
593 error_callback, this, profile_)); | 598 syncer::SUPERVISED_USERS, error_callback, this, profile_)); |
594 sync_service->RegisterDataTypeController( | 599 sync_service->RegisterDataTypeController( |
595 new SupervisedUserSyncDataTypeController( | 600 base::MakeUnique<SupervisedUserSyncDataTypeController>( |
596 syncer::SUPERVISED_USER_SHARED_SETTINGS, error_callback, this, | 601 syncer::SUPERVISED_USER_SHARED_SETTINGS, error_callback, this, |
597 profile_)); | 602 profile_)); |
598 #endif | 603 #endif |
599 | 604 |
600 #if defined(OS_CHROMEOS) | 605 #if defined(OS_CHROMEOS) |
601 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 606 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
602 switches::kEnableWifiCredentialSync) && | 607 switches::kEnableWifiCredentialSync) && |
603 !disabled_types.Has(syncer::WIFI_CREDENTIALS)) { | 608 !disabled_types.Has(syncer::WIFI_CREDENTIALS)) { |
604 sync_service->RegisterDataTypeController(new UIDataTypeController( | 609 sync_service->RegisterDataTypeController( |
605 ui_thread, error_callback, syncer::WIFI_CREDENTIALS, this)); | 610 base::MakeUnique<UIDataTypeController>(syncer::WIFI_CREDENTIALS, |
| 611 error_callback, this)); |
606 } | 612 } |
607 // TODO (lgcheng@) Add switch for this. | 613 // TODO(lgcheng): Add switch for this. |
608 sync_service->RegisterDataTypeController(new ArcPackageSyncDataTypeController( | 614 sync_service->RegisterDataTypeController( |
609 syncer::ARC_PACKAGE, error_callback, this, profile_)); | 615 base::MakeUnique<ArcPackageSyncDataTypeController>( |
| 616 syncer::ARC_PACKAGE, error_callback, this, profile_)); |
610 #endif | 617 #endif |
611 } | 618 } |
612 | 619 |
613 void ChromeSyncClient::RegisterAndroidDataTypes( | 620 void ChromeSyncClient::RegisterAndroidDataTypes( |
614 sync_driver::SyncService* sync_service, | 621 sync_driver::SyncService* sync_service, |
615 syncer::ModelTypeSet disabled_types, | 622 syncer::ModelTypeSet disabled_types, |
616 syncer::ModelTypeSet enabled_types) { | 623 syncer::ModelTypeSet enabled_types) { |
617 base::Closure error_callback = | 624 base::Closure error_callback = |
618 base::Bind(&ChromeReportUnrecoverableError, chrome::GetChannel()); | 625 base::Bind(&ChromeReportUnrecoverableError, chrome::GetChannel()); |
619 #if defined(ENABLE_SUPERVISED_USERS) | 626 #if defined(ENABLE_SUPERVISED_USERS) |
620 sync_service->RegisterDataTypeController( | 627 sync_service->RegisterDataTypeController( |
621 new SupervisedUserSyncDataTypeController(syncer::SUPERVISED_USER_SETTINGS, | 628 base::MakeUnique<SupervisedUserSyncDataTypeController>( |
622 error_callback, this, profile_)); | 629 syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_)); |
623 sync_service->RegisterDataTypeController( | 630 sync_service->RegisterDataTypeController( |
624 new SupervisedUserSyncDataTypeController( | 631 base::MakeUnique<SupervisedUserSyncDataTypeController>( |
625 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); | 632 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); |
626 #endif | 633 #endif |
627 } | 634 } |
628 | 635 |
629 } // namespace browser_sync | 636 } // namespace browser_sync |
OLD | NEW |