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

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

Issue 2289143003: [Sync] Convert DTCs to be not RefCounted and NonThreadSafe. (Closed)
Patch Set: Rebase. Created 4 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 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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698