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

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

Issue 2511703004: [Sync] Remove UIDataTypeController (Closed)
Patch Set: . Created 4 years, 1 month 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 <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 #include "components/history/core/browser/history_service.h" 51 #include "components/history/core/browser/history_service.h"
52 #include "components/invalidation/impl/profile_invalidation_provider.h" 52 #include "components/invalidation/impl/profile_invalidation_provider.h"
53 #include "components/password_manager/core/browser/password_store.h" 53 #include "components/password_manager/core/browser/password_store.h"
54 #include "components/password_manager/sync/browser/password_model_worker.h" 54 #include "components/password_manager/sync/browser/password_model_worker.h"
55 #include "components/search_engines/search_engine_data_type_controller.h" 55 #include "components/search_engines/search_engine_data_type_controller.h"
56 #include "components/signin/core/browser/profile_oauth2_token_service.h" 56 #include "components/signin/core/browser/profile_oauth2_token_service.h"
57 #include "components/spellcheck/spellcheck_build_features.h" 57 #include "components/spellcheck/spellcheck_build_features.h"
58 #include "components/sync/base/report_unrecoverable_error.h" 58 #include "components/sync/base/report_unrecoverable_error.h"
59 #include "components/sync/driver/glue/browser_thread_model_worker.h" 59 #include "components/sync/driver/glue/browser_thread_model_worker.h"
60 #include "components/sync/driver/glue/ui_model_worker.h" 60 #include "components/sync/driver/glue/ui_model_worker.h"
61 #include "components/sync/driver/non_ui_data_type_controller.h"
61 #include "components/sync/driver/sync_api_component_factory.h" 62 #include "components/sync/driver/sync_api_component_factory.h"
62 #include "components/sync/driver/sync_util.h" 63 #include "components/sync/driver/sync_util.h"
63 #include "components/sync/driver/ui_data_type_controller.h"
64 #include "components/sync/engine/passive_model_worker.h" 64 #include "components/sync/engine/passive_model_worker.h"
65 #include "components/sync_preferences/pref_service_syncable.h" 65 #include "components/sync_preferences/pref_service_syncable.h"
66 #include "components/sync_sessions/sync_sessions_client.h" 66 #include "components/sync_sessions/sync_sessions_client.h"
67 #include "content/public/browser/browser_thread.h" 67 #include "content/public/browser/browser_thread.h"
68 #include "extensions/features/features.h" 68 #include "extensions/features/features.h"
69 #include "ui/base/device_form_factor.h" 69 #include "ui/base/device_form_factor.h"
70 70
71 #if BUILDFLAG(ENABLE_APP_LIST) 71 #if BUILDFLAG(ENABLE_APP_LIST)
72 #include "chrome/browser/ui/app_list/app_list_syncable_service.h" 72 #include "chrome/browser/ui/app_list/app_list_syncable_service.h"
73 #include "chrome/browser/ui/app_list/app_list_syncable_service_factory.h" 73 #include "chrome/browser/ui/app_list/app_list_syncable_service_factory.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 #include "components/sync_wifi/wifi_credential_syncable_service.h" 109 #include "components/sync_wifi/wifi_credential_syncable_service.h"
110 #include "components/sync_wifi/wifi_credential_syncable_service_factory.h" 110 #include "components/sync_wifi/wifi_credential_syncable_service_factory.h"
111 #endif 111 #endif
112 112
113 using content::BrowserThread; 113 using content::BrowserThread;
114 #if BUILDFLAG(ENABLE_EXTENSIONS) 114 #if BUILDFLAG(ENABLE_EXTENSIONS)
115 using browser_sync::ExtensionDataTypeController; 115 using browser_sync::ExtensionDataTypeController;
116 using browser_sync::ExtensionSettingDataTypeController; 116 using browser_sync::ExtensionSettingDataTypeController;
117 #endif 117 #endif
118 using browser_sync::SearchEngineDataTypeController; 118 using browser_sync::SearchEngineDataTypeController;
119 using syncer::UIDataTypeController; 119 using syncer::NonUIDataTypeController;
120 120
121 namespace browser_sync { 121 namespace browser_sync {
122 122
123 // Chrome implementation of SyncSessionsClient. Needs to be in a separate class 123 // Chrome implementation of SyncSessionsClient. Needs to be in a separate class
124 // due to possible multiple inheritance issues, wherein ChromeSyncClient might 124 // due to possible multiple inheritance issues, wherein ChromeSyncClient might
125 // inherit from other interfaces with same methods. 125 // inherit from other interfaces with same methods.
126 class SyncSessionsClientImpl : public sync_sessions::SyncSessionsClient { 126 class SyncSessionsClientImpl : public sync_sessions::SyncSessionsClient {
127 public: 127 public:
128 explicit SyncSessionsClientImpl(Profile* profile) : profile_(profile) { 128 explicit SyncSessionsClientImpl(Profile* profile) : profile_(profile) {
129 window_delegates_getter_.reset( 129 window_delegates_getter_.reset(
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 error_callback, this, 551 error_callback, this,
552 TemplateURLServiceFactory::GetForProfile(profile_))); 552 TemplateURLServiceFactory::GetForProfile(profile_)));
553 } 553 }
554 554
555 #if BUILDFLAG(ENABLE_EXTENSIONS) 555 #if BUILDFLAG(ENABLE_EXTENSIONS)
556 // Extension setting sync is enabled by default. Register unless explicitly 556 // Extension setting sync is enabled by default. Register unless explicitly
557 // disabled. 557 // disabled.
558 if (!disabled_types.Has(syncer::EXTENSION_SETTINGS)) { 558 if (!disabled_types.Has(syncer::EXTENSION_SETTINGS)) {
559 sync_service->RegisterDataTypeController( 559 sync_service->RegisterDataTypeController(
560 base::MakeUnique<ExtensionSettingDataTypeController>( 560 base::MakeUnique<ExtensionSettingDataTypeController>(
561 syncer::EXTENSION_SETTINGS, error_callback, this, profile_)); 561 syncer::EXTENSION_SETTINGS, error_callback, this, profile_,
562 BrowserThread::GetTaskRunnerForThread(BrowserThread::FILE)));
maxbogue 2016/11/18 19:31:03 I think that it runs on the FILE thread is an inhe
pavely 2016/11/19 01:11:42 Done.
562 } 563 }
563 564
564 // App setting sync is enabled by default. Register unless explicitly 565 // App setting sync is enabled by default. Register unless explicitly
565 // disabled. 566 // disabled.
566 if (!disabled_types.Has(syncer::APP_SETTINGS)) { 567 if (!disabled_types.Has(syncer::APP_SETTINGS)) {
567 sync_service->RegisterDataTypeController( 568 sync_service->RegisterDataTypeController(
568 base::MakeUnique<ExtensionSettingDataTypeController>( 569 base::MakeUnique<ExtensionSettingDataTypeController>(
569 syncer::APP_SETTINGS, error_callback, this, profile_)); 570 syncer::APP_SETTINGS, error_callback, this, profile_,
571 BrowserThread::GetTaskRunnerForThread(BrowserThread::FILE)));
570 } 572 }
571 #endif 573 #endif
572 574
573 #if BUILDFLAG(ENABLE_APP_LIST) 575 #if BUILDFLAG(ENABLE_APP_LIST)
574 if (app_list::switches::IsAppListSyncEnabled()) { 576 if (app_list::switches::IsAppListSyncEnabled()) {
575 sync_service->RegisterDataTypeController( 577 sync_service->RegisterDataTypeController(
576 base::MakeUnique<UIDataTypeController>(syncer::APP_LIST, error_callback, 578 base::MakeUnique<NonUIDataTypeController>(
577 this)); 579 syncer::APP_LIST, error_callback, this, syncer::GROUP_UI,
580 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI)));
578 } 581 }
579 #endif 582 #endif
580 583
581 #if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS) 584 #if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS)
582 // Dictionary sync is enabled by default. 585 // Dictionary sync is enabled by default.
583 if (!disabled_types.Has(syncer::DICTIONARY)) { 586 if (!disabled_types.Has(syncer::DICTIONARY)) {
584 sync_service->RegisterDataTypeController( 587 sync_service->RegisterDataTypeController(
585 base::MakeUnique<UIDataTypeController>(syncer::DICTIONARY, 588 base::MakeUnique<NonUIDataTypeController>(
586 error_callback, this)); 589 syncer::DICTIONARY, error_callback, this, syncer::GROUP_UI,
590 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI)));
587 } 591 }
588 #endif 592 #endif
589 593
590 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) 594 #if BUILDFLAG(ENABLE_SUPERVISED_USERS)
591 sync_service->RegisterDataTypeController( 595 sync_service->RegisterDataTypeController(
592 base::MakeUnique<SupervisedUserSyncDataTypeController>( 596 base::MakeUnique<SupervisedUserSyncDataTypeController>(
593 syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_)); 597 syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_));
594 sync_service->RegisterDataTypeController( 598 sync_service->RegisterDataTypeController(
595 base::MakeUnique<SupervisedUserSyncDataTypeController>( 599 base::MakeUnique<SupervisedUserSyncDataTypeController>(
596 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); 600 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_));
597 sync_service->RegisterDataTypeController( 601 sync_service->RegisterDataTypeController(
598 base::MakeUnique<SupervisedUserSyncDataTypeController>( 602 base::MakeUnique<SupervisedUserSyncDataTypeController>(
599 syncer::SUPERVISED_USERS, error_callback, this, profile_)); 603 syncer::SUPERVISED_USERS, error_callback, this, profile_));
600 sync_service->RegisterDataTypeController( 604 sync_service->RegisterDataTypeController(
601 base::MakeUnique<SupervisedUserSyncDataTypeController>( 605 base::MakeUnique<SupervisedUserSyncDataTypeController>(
602 syncer::SUPERVISED_USER_SHARED_SETTINGS, error_callback, this, 606 syncer::SUPERVISED_USER_SHARED_SETTINGS, error_callback, this,
603 profile_)); 607 profile_));
604 #endif 608 #endif
605 609
606 #if defined(OS_CHROMEOS) 610 #if defined(OS_CHROMEOS)
607 if (base::CommandLine::ForCurrentProcess()->HasSwitch( 611 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
608 switches::kEnableWifiCredentialSync) && 612 switches::kEnableWifiCredentialSync) &&
609 !disabled_types.Has(syncer::WIFI_CREDENTIALS)) { 613 !disabled_types.Has(syncer::WIFI_CREDENTIALS)) {
610 sync_service->RegisterDataTypeController( 614 sync_service->RegisterDataTypeController(
611 base::MakeUnique<UIDataTypeController>(syncer::WIFI_CREDENTIALS, 615 base::MakeUnique<NonUIDataTypeController>(
612 error_callback, this)); 616 syncer::WIFI_CREDENTIALS, error_callback, this, syncer::GROUP_UI,
617 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI)));
613 } 618 }
614 // TODO(lgcheng): Add switch for this. 619 // TODO(lgcheng): Add switch for this.
615 sync_service->RegisterDataTypeController( 620 sync_service->RegisterDataTypeController(
616 base::MakeUnique<ArcPackageSyncDataTypeController>( 621 base::MakeUnique<ArcPackageSyncDataTypeController>(
617 syncer::ARC_PACKAGE, error_callback, this, profile_)); 622 syncer::ARC_PACKAGE, error_callback, this, profile_));
618 #endif 623 #endif
619 } 624 }
620 625
621 void ChromeSyncClient::RegisterAndroidDataTypes( 626 void ChromeSyncClient::RegisterAndroidDataTypes(
622 syncer::SyncService* sync_service, 627 syncer::SyncService* sync_service,
623 syncer::ModelTypeSet disabled_types, 628 syncer::ModelTypeSet disabled_types,
624 syncer::ModelTypeSet enabled_types) { 629 syncer::ModelTypeSet enabled_types) {
625 base::Closure error_callback = 630 base::Closure error_callback =
626 base::Bind(&syncer::ReportUnrecoverableError, chrome::GetChannel()); 631 base::Bind(&syncer::ReportUnrecoverableError, chrome::GetChannel());
627 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) 632 #if BUILDFLAG(ENABLE_SUPERVISED_USERS)
628 sync_service->RegisterDataTypeController( 633 sync_service->RegisterDataTypeController(
629 base::MakeUnique<SupervisedUserSyncDataTypeController>( 634 base::MakeUnique<SupervisedUserSyncDataTypeController>(
630 syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_)); 635 syncer::SUPERVISED_USER_SETTINGS, error_callback, this, profile_));
631 sync_service->RegisterDataTypeController( 636 sync_service->RegisterDataTypeController(
632 base::MakeUnique<SupervisedUserSyncDataTypeController>( 637 base::MakeUnique<SupervisedUserSyncDataTypeController>(
633 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_)); 638 syncer::SUPERVISED_USER_WHITELISTS, error_callback, this, profile_));
634 #endif 639 #endif
635 } 640 }
636 641
637 } // namespace browser_sync 642 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698