vabr | 9e9222f | 2016-01-21 10:18:03 | [diff] [blame] | 1 | // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
maxbogue | 26f4022 | 2016-09-16 20:22:18 | [diff] [blame] | 5 | #include "components/browser_sync/profile_sync_test_util.h" |
| 6 | |
Marc Treib | 088dcb79 | 2018-03-29 18:33:17 | [diff] [blame] | 7 | #include <string> |
maxbogue | 26f4022 | 2016-09-16 20:22:18 | [diff] [blame] | 8 | #include <utility> |
vabr | 9e9222f | 2016-01-21 10:18:03 | [diff] [blame] | 9 | |
David Roger | 793d1ce | 2017-11-28 14:42:32 | [diff] [blame] | 10 | #include "base/bind.h" |
Marc Treib | 8c47939 | 2018-07-11 20:19:01 | [diff] [blame] | 11 | #include "base/sequenced_task_runner.h" |
Gabriel Charette | 5ff87ce | 2017-05-16 18:03:45 | [diff] [blame] | 12 | #include "base/single_thread_task_runner.h" |
Marc Treib | 8c47939 | 2018-07-11 20:19:01 | [diff] [blame] | 13 | #include "base/threading/sequenced_task_runner_handle.h" |
fdoray | a19b770 | 2016-12-23 14:19:31 | [diff] [blame] | 14 | #include "base/threading/thread_task_runner_handle.h" |
vabr | 0b75a345 | 2016-02-23 10:14:55 | [diff] [blame] | 15 | #include "components/bookmarks/browser/bookmark_model.h" |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 16 | #include "components/history/core/browser/history_model_worker.h" |
fdoray | ea7a7ec | 2016-11-07 16:35:08 | [diff] [blame] | 17 | #include "components/history/core/browser/history_service.h" |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 18 | #include "components/pref_registry/pref_registry_syncable.h" |
| 19 | #include "components/signin/core/browser/signin_manager_base.h" |
maxbogue | 2f960e5 | 2016-10-07 01:24:15 | [diff] [blame] | 20 | #include "components/sync/base/sync_prefs.h" |
Max Bogue | fef332d | 2016-07-28 22:09:09 | [diff] [blame] | 21 | #include "components/sync/engine/passive_model_worker.h" |
stanisc | 5c6a294 | 2017-06-19 20:56:54 | [diff] [blame] | 22 | #include "components/sync/engine/sequenced_model_worker.h" |
maxbogue | 288c6917 | 2016-11-18 05:27:32 | [diff] [blame] | 23 | #include "components/sync/engine/ui_model_worker.h" |
Patrick Noland | 46bdc28 | 2017-10-31 18:21:56 | [diff] [blame] | 24 | #include "components/sync/model/model_type_store_test_util.h" |
Mikel Astiz | cfd7bc6a | 2018-06-13 13:18:31 | [diff] [blame] | 25 | #include "components/sync_sessions/local_session_event_router.h" |
Mark Pilgrim | 215ccf9 | 2018-06-11 22:32:19 | [diff] [blame] | 26 | #include "services/network/public/cpp/shared_url_loader_factory.h" |
| 27 | #include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h" |
| 28 | #include "services/network/test/test_url_loader_factory.h" |
Mikel Astiz | cfd7bc6a | 2018-06-13 13:18:31 | [diff] [blame] | 29 | #include "testing/gmock/include/gmock/gmock.h" |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 30 | |
vabr | 9e9222f | 2016-01-21 10:18:03 | [diff] [blame] | 31 | namespace browser_sync { |
| 32 | |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 33 | namespace { |
| 34 | |
Mikel Astiz | cfd7bc6a | 2018-06-13 13:18:31 | [diff] [blame] | 35 | class DummyRouter : public sync_sessions::LocalSessionEventRouter { |
| 36 | public: |
| 37 | DummyRouter() {} |
| 38 | ~DummyRouter() override {} |
| 39 | void StartRoutingTo( |
| 40 | sync_sessions::LocalSessionEventHandler* handler) override {} |
| 41 | void Stop() override {} |
| 42 | }; |
| 43 | |
maxbogue | 7e006db | 2016-10-03 19:48:28 | [diff] [blame] | 44 | class BundleSyncClient : public syncer::FakeSyncClient { |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 45 | public: |
maxbogue | 7e006db | 2016-10-03 19:48:28 | [diff] [blame] | 46 | BundleSyncClient(syncer::SyncApiComponentFactory* factory, |
maxbogue | 26f4022 | 2016-09-16 20:22:18 | [diff] [blame] | 47 | PrefService* pref_service, |
Mikel Astiz | 5313134 | 2018-07-19 08:59:58 | [diff] [blame] | 48 | syncer::ModelTypeStoreService* model_type_store_service, |
maxbogue | 26f4022 | 2016-09-16 20:22:18 | [diff] [blame] | 49 | sync_sessions::SyncSessionsClient* sync_sessions_client, |
| 50 | autofill::PersonalDataManager* personal_data_manager, |
| 51 | const base::Callback<base::WeakPtr<syncer::SyncableService>( |
| 52 | syncer::ModelType type)>& get_syncable_service_callback, |
maxbogue | 7e006db | 2016-10-03 19:48:28 | [diff] [blame] | 53 | const base::Callback<syncer::SyncService*(void)>& |
maxbogue | 26f4022 | 2016-09-16 20:22:18 | [diff] [blame] | 54 | get_sync_service_callback, |
| 55 | const base::Callback<bookmarks::BookmarkModel*(void)>& |
| 56 | get_bookmark_model_callback, |
Marc Treib | 8c47939 | 2018-07-11 20:19:01 | [diff] [blame] | 57 | scoped_refptr<base::SequencedTaskRunner> db_thread, |
| 58 | scoped_refptr<base::SequencedTaskRunner> file_thread, |
maxbogue | 26f4022 | 2016-09-16 20:22:18 | [diff] [blame] | 59 | history::HistoryService* history_service); |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 60 | |
| 61 | ~BundleSyncClient() override; |
| 62 | |
| 63 | PrefService* GetPrefService() override; |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 64 | sync_sessions::SyncSessionsClient* GetSyncSessionsClient() override; |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 65 | autofill::PersonalDataManager* GetPersonalDataManager() override; |
skym | a56dd49 | 2017-04-06 19:20:27 | [diff] [blame] | 66 | base::WeakPtr<syncer::SyncableService> GetSyncableServiceForType( |
| 67 | syncer::ModelType type) override; |
maxbogue | 7e006db | 2016-10-03 19:48:28 | [diff] [blame] | 68 | syncer::SyncService* GetSyncService() override; |
Mikel Astiz | 5313134 | 2018-07-19 08:59:58 | [diff] [blame] | 69 | syncer::ModelTypeStoreService* GetModelTypeStoreService() override; |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 70 | scoped_refptr<syncer::ModelSafeWorker> CreateModelWorkerForGroup( |
fdoray | ea7a7ec | 2016-11-07 16:35:08 | [diff] [blame] | 71 | syncer::ModelSafeGroup group) override; |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 72 | history::HistoryService* GetHistoryService() override; |
vabr | 0b75a345 | 2016-02-23 10:14:55 | [diff] [blame] | 73 | bookmarks::BookmarkModel* GetBookmarkModel() override; |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 74 | |
| 75 | private: |
| 76 | PrefService* const pref_service_; |
Mikel Astiz | 5313134 | 2018-07-19 08:59:58 | [diff] [blame] | 77 | syncer::ModelTypeStoreService* const model_type_store_service_; |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 78 | sync_sessions::SyncSessionsClient* const sync_sessions_client_; |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 79 | autofill::PersonalDataManager* const personal_data_manager_; |
| 80 | const base::Callback<base::WeakPtr<syncer::SyncableService>( |
| 81 | syncer::ModelType type)> |
| 82 | get_syncable_service_callback_; |
maxbogue | 7e006db | 2016-10-03 19:48:28 | [diff] [blame] | 83 | const base::Callback<syncer::SyncService*(void)> get_sync_service_callback_; |
vabr | 0b75a345 | 2016-02-23 10:14:55 | [diff] [blame] | 84 | const base::Callback<bookmarks::BookmarkModel*(void)> |
| 85 | get_bookmark_model_callback_; |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 86 | // These task runners, if not null, are used in CreateModelWorkerForGroup. |
Marc Treib | 8c47939 | 2018-07-11 20:19:01 | [diff] [blame] | 87 | const scoped_refptr<base::SequencedTaskRunner> db_thread_; |
| 88 | const scoped_refptr<base::SequencedTaskRunner> file_thread_; |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 89 | history::HistoryService* history_service_; |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 90 | }; |
| 91 | |
| 92 | BundleSyncClient::BundleSyncClient( |
maxbogue | 7e006db | 2016-10-03 19:48:28 | [diff] [blame] | 93 | syncer::SyncApiComponentFactory* factory, |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 94 | PrefService* pref_service, |
Mikel Astiz | 5313134 | 2018-07-19 08:59:58 | [diff] [blame] | 95 | syncer::ModelTypeStoreService* model_type_store_service, |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 96 | sync_sessions::SyncSessionsClient* sync_sessions_client, |
| 97 | autofill::PersonalDataManager* personal_data_manager, |
| 98 | const base::Callback<base::WeakPtr<syncer::SyncableService>( |
| 99 | syncer::ModelType type)>& get_syncable_service_callback, |
maxbogue | 7e006db | 2016-10-03 19:48:28 | [diff] [blame] | 100 | const base::Callback<syncer::SyncService*(void)>& get_sync_service_callback, |
vabr | 0b75a345 | 2016-02-23 10:14:55 | [diff] [blame] | 101 | const base::Callback<bookmarks::BookmarkModel*(void)>& |
| 102 | get_bookmark_model_callback, |
Marc Treib | 8c47939 | 2018-07-11 20:19:01 | [diff] [blame] | 103 | scoped_refptr<base::SequencedTaskRunner> db_thread, |
| 104 | scoped_refptr<base::SequencedTaskRunner> file_thread, |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 105 | history::HistoryService* history_service) |
maxbogue | 7e006db | 2016-10-03 19:48:28 | [diff] [blame] | 106 | : syncer::FakeSyncClient(factory), |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 107 | pref_service_(pref_service), |
Mikel Astiz | 5313134 | 2018-07-19 08:59:58 | [diff] [blame] | 108 | model_type_store_service_(model_type_store_service), |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 109 | sync_sessions_client_(sync_sessions_client), |
| 110 | personal_data_manager_(personal_data_manager), |
| 111 | get_syncable_service_callback_(get_syncable_service_callback), |
| 112 | get_sync_service_callback_(get_sync_service_callback), |
vabr | 0b75a345 | 2016-02-23 10:14:55 | [diff] [blame] | 113 | get_bookmark_model_callback_(get_bookmark_model_callback), |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 114 | db_thread_(db_thread), |
| 115 | file_thread_(file_thread), |
| 116 | history_service_(history_service) { |
Sky Malice | a8b1707 | 2017-10-11 15:45:39 | [diff] [blame] | 117 | EXPECT_EQ(!!db_thread_, !!file_thread_); |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 118 | } |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 119 | |
| 120 | BundleSyncClient::~BundleSyncClient() = default; |
| 121 | |
| 122 | PrefService* BundleSyncClient::GetPrefService() { |
| 123 | return pref_service_; |
| 124 | } |
| 125 | |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 126 | sync_sessions::SyncSessionsClient* BundleSyncClient::GetSyncSessionsClient() { |
| 127 | return sync_sessions_client_; |
| 128 | } |
| 129 | |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 130 | autofill::PersonalDataManager* BundleSyncClient::GetPersonalDataManager() { |
| 131 | return personal_data_manager_; |
| 132 | } |
| 133 | |
skym | a56dd49 | 2017-04-06 19:20:27 | [diff] [blame] | 134 | base::WeakPtr<syncer::SyncableService> |
| 135 | BundleSyncClient::GetSyncableServiceForType(syncer::ModelType type) { |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 136 | if (get_syncable_service_callback_.is_null()) |
maxbogue | 7e006db | 2016-10-03 19:48:28 | [diff] [blame] | 137 | return syncer::FakeSyncClient::GetSyncableServiceForType(type); |
skym | a56dd49 | 2017-04-06 19:20:27 | [diff] [blame] | 138 | return get_syncable_service_callback_.Run(type); |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 139 | } |
| 140 | |
maxbogue | 7e006db | 2016-10-03 19:48:28 | [diff] [blame] | 141 | syncer::SyncService* BundleSyncClient::GetSyncService() { |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 142 | if (get_sync_service_callback_.is_null()) |
maxbogue | 7e006db | 2016-10-03 19:48:28 | [diff] [blame] | 143 | return syncer::FakeSyncClient::GetSyncService(); |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 144 | return get_sync_service_callback_.Run(); |
| 145 | } |
| 146 | |
| 147 | scoped_refptr<syncer::ModelSafeWorker> |
fdoray | ea7a7ec | 2016-11-07 16:35:08 | [diff] [blame] | 148 | BundleSyncClient::CreateModelWorkerForGroup(syncer::ModelSafeGroup group) { |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 149 | if (!db_thread_) |
fdoray | ea7a7ec | 2016-11-07 16:35:08 | [diff] [blame] | 150 | return FakeSyncClient::CreateModelWorkerForGroup(group); |
Sky Malice | a8b1707 | 2017-10-11 15:45:39 | [diff] [blame] | 151 | EXPECT_TRUE(file_thread_) |
| 152 | << "DB thread was specified but FILE thread was not."; |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 153 | switch (group) { |
| 154 | case syncer::GROUP_DB: |
stanisc | 5c6a294 | 2017-06-19 20:56:54 | [diff] [blame] | 155 | return new syncer::SequencedModelWorker(db_thread_, syncer::GROUP_DB); |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 156 | case syncer::GROUP_FILE: |
stanisc | 5c6a294 | 2017-06-19 20:56:54 | [diff] [blame] | 157 | return new syncer::SequencedModelWorker(file_thread_, syncer::GROUP_FILE); |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 158 | case syncer::GROUP_UI: |
fdoray | ea7a7ec | 2016-11-07 16:35:08 | [diff] [blame] | 159 | return new syncer::UIModelWorker(base::ThreadTaskRunnerHandle::Get()); |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 160 | case syncer::GROUP_PASSIVE: |
fdoray | ea7a7ec | 2016-11-07 16:35:08 | [diff] [blame] | 161 | return new syncer::PassiveModelWorker(); |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 162 | case syncer::GROUP_HISTORY: { |
| 163 | history::HistoryService* history_service = GetHistoryService(); |
| 164 | if (!history_service) |
| 165 | return nullptr; |
| 166 | return new HistoryModelWorker(history_service->AsWeakPtr(), |
fdoray | ea7a7ec | 2016-11-07 16:35:08 | [diff] [blame] | 167 | base::ThreadTaskRunnerHandle::Get()); |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 168 | } |
| 169 | default: |
| 170 | return nullptr; |
| 171 | } |
| 172 | } |
| 173 | |
Mikel Astiz | 5313134 | 2018-07-19 08:59:58 | [diff] [blame] | 174 | syncer::ModelTypeStoreService* BundleSyncClient::GetModelTypeStoreService() { |
| 175 | return model_type_store_service_; |
| 176 | } |
| 177 | |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 178 | history::HistoryService* BundleSyncClient::GetHistoryService() { |
| 179 | if (history_service_) |
| 180 | return history_service_; |
| 181 | return FakeSyncClient::GetHistoryService(); |
| 182 | } |
| 183 | |
vabr | 0b75a345 | 2016-02-23 10:14:55 | [diff] [blame] | 184 | bookmarks::BookmarkModel* BundleSyncClient::GetBookmarkModel() { |
| 185 | if (get_bookmark_model_callback_.is_null()) |
| 186 | return FakeSyncClient::GetBookmarkModel(); |
| 187 | return get_bookmark_model_callback_.Run(); |
| 188 | } |
| 189 | |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 190 | } // namespace |
| 191 | |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 192 | void RegisterPrefsForProfileSyncService( |
| 193 | user_prefs::PrefRegistrySyncable* registry) { |
maxbogue | 7e006db | 2016-10-03 19:48:28 | [diff] [blame] | 194 | syncer::SyncPrefs::RegisterProfilePrefs(registry); |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 195 | AccountTrackerService::RegisterPrefs(registry); |
| 196 | SigninManagerBase::RegisterProfilePrefs(registry); |
| 197 | SigninManagerBase::RegisterPrefs(registry); |
| 198 | } |
vabr | 9e9222f | 2016-01-21 10:18:03 | [diff] [blame] | 199 | |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 200 | ProfileSyncServiceBundle::SyncClientBuilder::~SyncClientBuilder() = default; |
| 201 | |
| 202 | ProfileSyncServiceBundle::SyncClientBuilder::SyncClientBuilder( |
| 203 | ProfileSyncServiceBundle* bundle) |
| 204 | : bundle_(bundle) {} |
| 205 | |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 206 | void ProfileSyncServiceBundle::SyncClientBuilder::SetPersonalDataManager( |
| 207 | autofill::PersonalDataManager* personal_data_manager) { |
| 208 | personal_data_manager_ = personal_data_manager; |
| 209 | } |
| 210 | |
| 211 | // The client will call this callback to produce the service. |
| 212 | void ProfileSyncServiceBundle::SyncClientBuilder::SetSyncableServiceCallback( |
Mark Pilgrim | 306445e | 2018-07-11 13:38:54 | [diff] [blame] | 213 | const base::RepeatingCallback<base::WeakPtr<syncer::SyncableService>( |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 214 | syncer::ModelType type)>& get_syncable_service_callback) { |
| 215 | get_syncable_service_callback_ = get_syncable_service_callback; |
| 216 | } |
| 217 | |
| 218 | // The client will call this callback to produce the service. |
| 219 | void ProfileSyncServiceBundle::SyncClientBuilder::SetSyncServiceCallback( |
maxbogue | 7e006db | 2016-10-03 19:48:28 | [diff] [blame] | 220 | const base::Callback<syncer::SyncService*(void)>& |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 221 | get_sync_service_callback) { |
| 222 | get_sync_service_callback_ = get_sync_service_callback; |
| 223 | } |
| 224 | |
| 225 | void ProfileSyncServiceBundle::SyncClientBuilder::SetHistoryService( |
| 226 | history::HistoryService* history_service) { |
| 227 | history_service_ = history_service; |
| 228 | } |
| 229 | |
vabr | 0b75a345 | 2016-02-23 10:14:55 | [diff] [blame] | 230 | void ProfileSyncServiceBundle::SyncClientBuilder::SetBookmarkModelCallback( |
| 231 | const base::Callback<bookmarks::BookmarkModel*(void)>& |
| 232 | get_bookmark_model_callback) { |
| 233 | get_bookmark_model_callback_ = get_bookmark_model_callback; |
| 234 | } |
| 235 | |
maxbogue | 7e006db | 2016-10-03 19:48:28 | [diff] [blame] | 236 | std::unique_ptr<syncer::FakeSyncClient> |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 237 | ProfileSyncServiceBundle::SyncClientBuilder::Build() { |
Sky Malice | 08a04b7 | 2017-08-24 21:43:24 | [diff] [blame] | 238 | return std::make_unique<BundleSyncClient>( |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 239 | bundle_->component_factory(), bundle_->pref_service(), |
Mikel Astiz | 5313134 | 2018-07-19 08:59:58 | [diff] [blame] | 240 | &bundle_->model_type_store_service_, bundle_->sync_sessions_client(), |
| 241 | personal_data_manager_, get_syncable_service_callback_, |
| 242 | get_sync_service_callback_, get_bookmark_model_callback_, |
vabr | 9352dd9 | 2016-02-19 16:09:49 | [diff] [blame] | 243 | activate_model_creation_ ? bundle_->db_thread() : nullptr, |
Marc Treib | 8c47939 | 2018-07-11 20:19:01 | [diff] [blame] | 244 | activate_model_creation_ ? base::SequencedTaskRunnerHandle::Get() |
| 245 | : nullptr, |
ricea | 799a1fd | 2016-08-22 02:45:53 | [diff] [blame] | 246 | history_service_); |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 247 | } |
| 248 | |
| 249 | ProfileSyncServiceBundle::ProfileSyncServiceBundle() |
Marc Treib | 8c47939 | 2018-07-11 20:19:01 | [diff] [blame] | 250 | : db_thread_(base::SequencedTaskRunnerHandle::Get()), |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 251 | signin_client_(&pref_service_), |
| 252 | #if defined(OS_CHROMEOS) |
| 253 | signin_manager_(&signin_client_, &account_tracker_), |
| 254 | #else |
| 255 | signin_manager_(&signin_client_, |
| 256 | &auth_service_, |
| 257 | &account_tracker_, |
| 258 | nullptr), |
| 259 | #endif |
David Roger | bbc341f | 2018-08-17 22:13:48 | [diff] [blame] | 260 | auth_service_(&pref_service_), |
Colin Blundell | e3f61fa | 2018-07-18 12:16:26 | [diff] [blame] | 261 | gaia_cookie_manager_service_(&auth_service_, |
| 262 | "profile_sync_service_bundle", |
| 263 | &signin_client_), |
| 264 | identity_manager_(&signin_manager_, |
| 265 | &auth_service_, |
| 266 | &account_tracker_, |
Maks Orlovich | f7bc9bb34 | 2018-08-29 14:12:38 | [diff] [blame] | 267 | &gaia_cookie_manager_service_) { |
maxbogue | 0a37945 | 2016-09-22 21:35:05 | [diff] [blame] | 268 | RegisterPrefsForProfileSyncService(pref_service_.registry()); |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 269 | auth_service_.set_auto_post_fetch_response_on_message_loop(true); |
Sylvain Defresne | 0526a04 | 2018-08-23 08:35:31 | [diff] [blame] | 270 | account_tracker_.Initialize(&pref_service_, base::FilePath()); |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 271 | signin_manager_.Initialize(&pref_service_); |
Mikel Astiz | cfd7bc6a | 2018-06-13 13:18:31 | [diff] [blame] | 272 | local_session_event_router_ = std::make_unique<DummyRouter>(); |
Tanja Gornak | 32e7d7f4 | 2018-08-31 10:33:26 | [diff] [blame] | 273 | identity_provider_ = std::make_unique<invalidation::ProfileIdentityProvider>( |
| 274 | identity_manager()); |
Mikel Astiz | cfd7bc6a | 2018-06-13 13:18:31 | [diff] [blame] | 275 | ON_CALL(sync_sessions_client_, GetLocalSessionEventRouter()) |
| 276 | .WillByDefault(testing::Return(local_session_event_router_.get())); |
vabr | 0c775a1 | 2016-01-29 08:50:59 | [diff] [blame] | 277 | } |
| 278 | |
vabr | 6b1e971 | 2016-02-19 16:45:01 | [diff] [blame] | 279 | ProfileSyncServiceBundle::~ProfileSyncServiceBundle() {} |
| 280 | |
| 281 | ProfileSyncService::InitParams ProfileSyncServiceBundle::CreateBasicInitParams( |
maxbogue | 1a84b14 | 2016-03-15 01:58:16 | [diff] [blame] | 282 | ProfileSyncService::StartBehavior start_behavior, |
maxbogue | 7e006db | 2016-10-03 19:48:28 | [diff] [blame] | 283 | std::unique_ptr<syncer::SyncClient> sync_client) { |
vabr | 6b1e971 | 2016-02-19 16:45:01 | [diff] [blame] | 284 | ProfileSyncService::InitParams init_params; |
| 285 | |
| 286 | init_params.start_behavior = start_behavior; |
| 287 | init_params.sync_client = std::move(sync_client); |
chcunningham | 275f98ad | 2018-08-30 20:09:46 | [diff] [blame] | 288 | init_params.identity_manager = identity_manager(); |
Marc Treib | 088dcb79 | 2018-03-29 18:33:17 | [diff] [blame] | 289 | init_params.signin_scoped_device_id_callback = |
| 290 | base::BindRepeating([]() { return std::string(); }); |
Tanja Gornak | 32e7d7f4 | 2018-08-31 10:33:26 | [diff] [blame] | 291 | init_params.invalidations_identity_provider = identity_provider_.get(); |
Peter Kasting | 341e1fb | 2018-02-24 00:03:01 | [diff] [blame] | 292 | init_params.network_time_update_callback = base::DoNothing(); |
Mark Pilgrim | 215ccf9 | 2018-06-11 22:32:19 | [diff] [blame] | 293 | init_params.url_loader_factory = |
| 294 | base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>( |
| 295 | &test_url_loader_factory_); |
vabr | 6b1e971 | 2016-02-19 16:45:01 | [diff] [blame] | 296 | init_params.debug_identifier = "dummyDebugName"; |
| 297 | init_params.channel = version_info::Channel::UNKNOWN; |
vabr | 6b1e971 | 2016-02-19 16:45:01 | [diff] [blame] | 298 | |
| 299 | return init_params; |
| 300 | } |
| 301 | |
vabr | 9e9222f | 2016-01-21 10:18:03 | [diff] [blame] | 302 | } // namespace browser_sync |