| 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 |