OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 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 | 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 "components/browser_sync/profile_sync_test_util.h" | 5 #include "components/browser_sync/profile_sync_test_util.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
10 #include "components/bookmarks/browser/bookmark_model.h" | 10 #include "components/bookmarks/browser/bookmark_model.h" |
11 #include "components/history/core/browser/history_model_worker.h" | 11 #include "components/history/core/browser/history_model_worker.h" |
12 #include "components/pref_registry/pref_registry_syncable.h" | 12 #include "components/pref_registry/pref_registry_syncable.h" |
13 #include "components/signin/core/browser/signin_manager_base.h" | 13 #include "components/signin/core/browser/signin_manager_base.h" |
14 #include "components/sync/driver/glue/browser_thread_model_worker.h" | 14 #include "components/sync/driver/glue/browser_thread_model_worker.h" |
15 #include "components/sync/driver/glue/ui_model_worker.h" | 15 #include "components/sync/driver/glue/ui_model_worker.h" |
16 #include "components/sync/driver/signin_manager_wrapper.h" | 16 #include "components/sync/driver/signin_manager_wrapper.h" |
17 #include "components/sync/driver/sync_prefs.h" | 17 #include "components/sync/driver/sync_prefs.h" |
18 #include "components/sync/engine/passive_model_worker.h" | 18 #include "components/sync/engine/passive_model_worker.h" |
19 #include "net/url_request/url_request_test_util.h" | 19 #include "net/url_request/url_request_test_util.h" |
20 | 20 |
21 namespace browser_sync { | 21 namespace browser_sync { |
22 | 22 |
23 namespace { | 23 namespace { |
24 | 24 |
25 class BundleSyncClient : public syncer::FakeSyncClient { | 25 class BundleSyncClient : public sync_driver::FakeSyncClient { |
26 public: | 26 public: |
27 BundleSyncClient(syncer::SyncApiComponentFactory* factory, | 27 BundleSyncClient(sync_driver::SyncApiComponentFactory* factory, |
28 PrefService* pref_service, | 28 PrefService* pref_service, |
29 sync_sessions::SyncSessionsClient* sync_sessions_client, | 29 sync_sessions::SyncSessionsClient* sync_sessions_client, |
30 autofill::PersonalDataManager* personal_data_manager, | 30 autofill::PersonalDataManager* personal_data_manager, |
31 const base::Callback<base::WeakPtr<syncer::SyncableService>( | 31 const base::Callback<base::WeakPtr<syncer::SyncableService>( |
32 syncer::ModelType type)>& get_syncable_service_callback, | 32 syncer::ModelType type)>& get_syncable_service_callback, |
33 const base::Callback<syncer::SyncService*(void)>& | 33 const base::Callback<sync_driver::SyncService*(void)>& |
34 get_sync_service_callback, | 34 get_sync_service_callback, |
35 const base::Callback<bookmarks::BookmarkModel*(void)>& | 35 const base::Callback<bookmarks::BookmarkModel*(void)>& |
36 get_bookmark_model_callback, | 36 get_bookmark_model_callback, |
37 scoped_refptr<base::SingleThreadTaskRunner> db_thread, | 37 scoped_refptr<base::SingleThreadTaskRunner> db_thread, |
38 scoped_refptr<base::SingleThreadTaskRunner> file_thread, | 38 scoped_refptr<base::SingleThreadTaskRunner> file_thread, |
39 history::HistoryService* history_service); | 39 history::HistoryService* history_service); |
40 | 40 |
41 ~BundleSyncClient() override; | 41 ~BundleSyncClient() override; |
42 | 42 |
43 PrefService* GetPrefService() override; | 43 PrefService* GetPrefService() override; |
44 sync_sessions::SyncSessionsClient* GetSyncSessionsClient() override; | 44 sync_sessions::SyncSessionsClient* GetSyncSessionsClient() override; |
45 autofill::PersonalDataManager* GetPersonalDataManager() override; | 45 autofill::PersonalDataManager* GetPersonalDataManager() override; |
46 base::WeakPtr<syncer::SyncableService> GetSyncableServiceForType( | 46 base::WeakPtr<syncer::SyncableService> GetSyncableServiceForType( |
47 syncer::ModelType type) override; | 47 syncer::ModelType type) override; |
48 syncer::SyncService* GetSyncService() override; | 48 sync_driver::SyncService* GetSyncService() override; |
49 scoped_refptr<syncer::ModelSafeWorker> CreateModelWorkerForGroup( | 49 scoped_refptr<syncer::ModelSafeWorker> CreateModelWorkerForGroup( |
50 syncer::ModelSafeGroup group, | 50 syncer::ModelSafeGroup group, |
51 syncer::WorkerLoopDestructionObserver* observer) override; | 51 syncer::WorkerLoopDestructionObserver* observer) override; |
52 history::HistoryService* GetHistoryService() override; | 52 history::HistoryService* GetHistoryService() override; |
53 bookmarks::BookmarkModel* GetBookmarkModel() override; | 53 bookmarks::BookmarkModel* GetBookmarkModel() override; |
54 | 54 |
55 private: | 55 private: |
56 PrefService* const pref_service_; | 56 PrefService* const pref_service_; |
57 sync_sessions::SyncSessionsClient* const sync_sessions_client_; | 57 sync_sessions::SyncSessionsClient* const sync_sessions_client_; |
58 autofill::PersonalDataManager* const personal_data_manager_; | 58 autofill::PersonalDataManager* const personal_data_manager_; |
59 const base::Callback<base::WeakPtr<syncer::SyncableService>( | 59 const base::Callback<base::WeakPtr<syncer::SyncableService>( |
60 syncer::ModelType type)> | 60 syncer::ModelType type)> |
61 get_syncable_service_callback_; | 61 get_syncable_service_callback_; |
62 const base::Callback<syncer::SyncService*(void)> get_sync_service_callback_; | 62 const base::Callback<sync_driver::SyncService*(void)> |
| 63 get_sync_service_callback_; |
63 const base::Callback<bookmarks::BookmarkModel*(void)> | 64 const base::Callback<bookmarks::BookmarkModel*(void)> |
64 get_bookmark_model_callback_; | 65 get_bookmark_model_callback_; |
65 // These task runners, if not null, are used in CreateModelWorkerForGroup. | 66 // These task runners, if not null, are used in CreateModelWorkerForGroup. |
66 const scoped_refptr<base::SingleThreadTaskRunner> db_thread_; | 67 const scoped_refptr<base::SingleThreadTaskRunner> db_thread_; |
67 const scoped_refptr<base::SingleThreadTaskRunner> file_thread_; | 68 const scoped_refptr<base::SingleThreadTaskRunner> file_thread_; |
68 history::HistoryService* history_service_; | 69 history::HistoryService* history_service_; |
69 }; | 70 }; |
70 | 71 |
71 BundleSyncClient::BundleSyncClient( | 72 BundleSyncClient::BundleSyncClient( |
72 syncer::SyncApiComponentFactory* factory, | 73 sync_driver::SyncApiComponentFactory* factory, |
73 PrefService* pref_service, | 74 PrefService* pref_service, |
74 sync_sessions::SyncSessionsClient* sync_sessions_client, | 75 sync_sessions::SyncSessionsClient* sync_sessions_client, |
75 autofill::PersonalDataManager* personal_data_manager, | 76 autofill::PersonalDataManager* personal_data_manager, |
76 const base::Callback<base::WeakPtr<syncer::SyncableService>( | 77 const base::Callback<base::WeakPtr<syncer::SyncableService>( |
77 syncer::ModelType type)>& get_syncable_service_callback, | 78 syncer::ModelType type)>& get_syncable_service_callback, |
78 const base::Callback<syncer::SyncService*(void)>& get_sync_service_callback, | 79 const base::Callback<sync_driver::SyncService*(void)>& |
| 80 get_sync_service_callback, |
79 const base::Callback<bookmarks::BookmarkModel*(void)>& | 81 const base::Callback<bookmarks::BookmarkModel*(void)>& |
80 get_bookmark_model_callback, | 82 get_bookmark_model_callback, |
81 scoped_refptr<base::SingleThreadTaskRunner> db_thread, | 83 scoped_refptr<base::SingleThreadTaskRunner> db_thread, |
82 scoped_refptr<base::SingleThreadTaskRunner> file_thread, | 84 scoped_refptr<base::SingleThreadTaskRunner> file_thread, |
83 history::HistoryService* history_service) | 85 history::HistoryService* history_service) |
84 : syncer::FakeSyncClient(factory), | 86 : sync_driver::FakeSyncClient(factory), |
85 pref_service_(pref_service), | 87 pref_service_(pref_service), |
86 sync_sessions_client_(sync_sessions_client), | 88 sync_sessions_client_(sync_sessions_client), |
87 personal_data_manager_(personal_data_manager), | 89 personal_data_manager_(personal_data_manager), |
88 get_syncable_service_callback_(get_syncable_service_callback), | 90 get_syncable_service_callback_(get_syncable_service_callback), |
89 get_sync_service_callback_(get_sync_service_callback), | 91 get_sync_service_callback_(get_sync_service_callback), |
90 get_bookmark_model_callback_(get_bookmark_model_callback), | 92 get_bookmark_model_callback_(get_bookmark_model_callback), |
91 db_thread_(db_thread), | 93 db_thread_(db_thread), |
92 file_thread_(file_thread), | 94 file_thread_(file_thread), |
93 history_service_(history_service) { | 95 history_service_(history_service) { |
94 DCHECK_EQ(!!db_thread_, !!file_thread_); | 96 DCHECK_EQ(!!db_thread_, !!file_thread_); |
95 } | 97 } |
96 | 98 |
97 BundleSyncClient::~BundleSyncClient() = default; | 99 BundleSyncClient::~BundleSyncClient() = default; |
98 | 100 |
99 PrefService* BundleSyncClient::GetPrefService() { | 101 PrefService* BundleSyncClient::GetPrefService() { |
100 return pref_service_; | 102 return pref_service_; |
101 } | 103 } |
102 | 104 |
103 sync_sessions::SyncSessionsClient* BundleSyncClient::GetSyncSessionsClient() { | 105 sync_sessions::SyncSessionsClient* BundleSyncClient::GetSyncSessionsClient() { |
104 return sync_sessions_client_; | 106 return sync_sessions_client_; |
105 } | 107 } |
106 | 108 |
107 autofill::PersonalDataManager* BundleSyncClient::GetPersonalDataManager() { | 109 autofill::PersonalDataManager* BundleSyncClient::GetPersonalDataManager() { |
108 return personal_data_manager_; | 110 return personal_data_manager_; |
109 } | 111 } |
110 | 112 |
111 base::WeakPtr<syncer::SyncableService> | 113 base::WeakPtr<syncer::SyncableService> |
112 BundleSyncClient::GetSyncableServiceForType(syncer::ModelType type) { | 114 BundleSyncClient::GetSyncableServiceForType(syncer::ModelType type) { |
113 if (get_syncable_service_callback_.is_null()) | 115 if (get_syncable_service_callback_.is_null()) |
114 return syncer::FakeSyncClient::GetSyncableServiceForType(type); | 116 return sync_driver::FakeSyncClient::GetSyncableServiceForType(type); |
115 return get_syncable_service_callback_.Run(type); | 117 return get_syncable_service_callback_.Run(type); |
116 } | 118 } |
117 | 119 |
118 syncer::SyncService* BundleSyncClient::GetSyncService() { | 120 sync_driver::SyncService* BundleSyncClient::GetSyncService() { |
119 if (get_sync_service_callback_.is_null()) | 121 if (get_sync_service_callback_.is_null()) |
120 return syncer::FakeSyncClient::GetSyncService(); | 122 return sync_driver::FakeSyncClient::GetSyncService(); |
121 return get_sync_service_callback_.Run(); | 123 return get_sync_service_callback_.Run(); |
122 } | 124 } |
123 | 125 |
124 scoped_refptr<syncer::ModelSafeWorker> | 126 scoped_refptr<syncer::ModelSafeWorker> |
125 BundleSyncClient::CreateModelWorkerForGroup( | 127 BundleSyncClient::CreateModelWorkerForGroup( |
126 syncer::ModelSafeGroup group, | 128 syncer::ModelSafeGroup group, |
127 syncer::WorkerLoopDestructionObserver* observer) { | 129 syncer::WorkerLoopDestructionObserver* observer) { |
128 if (!db_thread_) | 130 if (!db_thread_) |
129 return FakeSyncClient::CreateModelWorkerForGroup(group, observer); | 131 return FakeSyncClient::CreateModelWorkerForGroup(group, observer); |
130 DCHECK(file_thread_) << "DB thread was specified but FILE thread was not."; | 132 DCHECK(file_thread_) << "DB thread was specified but FILE thread was not."; |
131 switch (group) { | 133 switch (group) { |
132 case syncer::GROUP_DB: | 134 case syncer::GROUP_DB: |
133 return new syncer::BrowserThreadModelWorker(db_thread_, syncer::GROUP_DB, | 135 return new BrowserThreadModelWorker(db_thread_, syncer::GROUP_DB, |
134 observer); | 136 observer); |
135 case syncer::GROUP_FILE: | 137 case syncer::GROUP_FILE: |
136 return new syncer::BrowserThreadModelWorker(file_thread_, | 138 return new BrowserThreadModelWorker(file_thread_, syncer::GROUP_FILE, |
137 syncer::GROUP_FILE, observer); | 139 observer); |
138 case syncer::GROUP_UI: | 140 case syncer::GROUP_UI: |
139 return new syncer::UIModelWorker(base::ThreadTaskRunnerHandle::Get(), | 141 return new UIModelWorker(base::ThreadTaskRunnerHandle::Get(), observer); |
140 observer); | |
141 case syncer::GROUP_PASSIVE: | 142 case syncer::GROUP_PASSIVE: |
142 return new syncer::PassiveModelWorker(observer); | 143 return new syncer::PassiveModelWorker(observer); |
143 case syncer::GROUP_HISTORY: { | 144 case syncer::GROUP_HISTORY: { |
144 history::HistoryService* history_service = GetHistoryService(); | 145 history::HistoryService* history_service = GetHistoryService(); |
145 if (!history_service) | 146 if (!history_service) |
146 return nullptr; | 147 return nullptr; |
147 return new HistoryModelWorker(history_service->AsWeakPtr(), | 148 return new HistoryModelWorker(history_service->AsWeakPtr(), |
148 base::ThreadTaskRunnerHandle::Get(), | 149 base::ThreadTaskRunnerHandle::Get(), |
149 observer); | 150 observer); |
150 } | 151 } |
(...skipping 15 matching lines...) Expand all Loading... |
166 } | 167 } |
167 | 168 |
168 } // namespace | 169 } // namespace |
169 | 170 |
170 void EmptyNetworkTimeUpdate(const base::Time&, | 171 void EmptyNetworkTimeUpdate(const base::Time&, |
171 const base::TimeDelta&, | 172 const base::TimeDelta&, |
172 const base::TimeDelta&) {} | 173 const base::TimeDelta&) {} |
173 | 174 |
174 void RegisterPrefsForProfileSyncService( | 175 void RegisterPrefsForProfileSyncService( |
175 user_prefs::PrefRegistrySyncable* registry) { | 176 user_prefs::PrefRegistrySyncable* registry) { |
176 syncer::SyncPrefs::RegisterProfilePrefs(registry); | 177 sync_driver::SyncPrefs::RegisterProfilePrefs(registry); |
177 AccountTrackerService::RegisterPrefs(registry); | 178 AccountTrackerService::RegisterPrefs(registry); |
178 SigninManagerBase::RegisterProfilePrefs(registry); | 179 SigninManagerBase::RegisterProfilePrefs(registry); |
179 SigninManagerBase::RegisterPrefs(registry); | 180 SigninManagerBase::RegisterPrefs(registry); |
180 } | 181 } |
181 | 182 |
182 ProfileSyncServiceBundle::SyncClientBuilder::~SyncClientBuilder() = default; | 183 ProfileSyncServiceBundle::SyncClientBuilder::~SyncClientBuilder() = default; |
183 | 184 |
184 ProfileSyncServiceBundle::SyncClientBuilder::SyncClientBuilder( | 185 ProfileSyncServiceBundle::SyncClientBuilder::SyncClientBuilder( |
185 ProfileSyncServiceBundle* bundle) | 186 ProfileSyncServiceBundle* bundle) |
186 : bundle_(bundle) {} | 187 : bundle_(bundle) {} |
187 | 188 |
188 void ProfileSyncServiceBundle::SyncClientBuilder::SetPersonalDataManager( | 189 void ProfileSyncServiceBundle::SyncClientBuilder::SetPersonalDataManager( |
189 autofill::PersonalDataManager* personal_data_manager) { | 190 autofill::PersonalDataManager* personal_data_manager) { |
190 personal_data_manager_ = personal_data_manager; | 191 personal_data_manager_ = personal_data_manager; |
191 } | 192 } |
192 | 193 |
193 // The client will call this callback to produce the service. | 194 // The client will call this callback to produce the service. |
194 void ProfileSyncServiceBundle::SyncClientBuilder::SetSyncableServiceCallback( | 195 void ProfileSyncServiceBundle::SyncClientBuilder::SetSyncableServiceCallback( |
195 const base::Callback<base::WeakPtr<syncer::SyncableService>( | 196 const base::Callback<base::WeakPtr<syncer::SyncableService>( |
196 syncer::ModelType type)>& get_syncable_service_callback) { | 197 syncer::ModelType type)>& get_syncable_service_callback) { |
197 get_syncable_service_callback_ = get_syncable_service_callback; | 198 get_syncable_service_callback_ = get_syncable_service_callback; |
198 } | 199 } |
199 | 200 |
200 // The client will call this callback to produce the service. | 201 // The client will call this callback to produce the service. |
201 void ProfileSyncServiceBundle::SyncClientBuilder::SetSyncServiceCallback( | 202 void ProfileSyncServiceBundle::SyncClientBuilder::SetSyncServiceCallback( |
202 const base::Callback<syncer::SyncService*(void)>& | 203 const base::Callback<sync_driver::SyncService*(void)>& |
203 get_sync_service_callback) { | 204 get_sync_service_callback) { |
204 get_sync_service_callback_ = get_sync_service_callback; | 205 get_sync_service_callback_ = get_sync_service_callback; |
205 } | 206 } |
206 | 207 |
207 void ProfileSyncServiceBundle::SyncClientBuilder::SetHistoryService( | 208 void ProfileSyncServiceBundle::SyncClientBuilder::SetHistoryService( |
208 history::HistoryService* history_service) { | 209 history::HistoryService* history_service) { |
209 history_service_ = history_service; | 210 history_service_ = history_service; |
210 } | 211 } |
211 | 212 |
212 void ProfileSyncServiceBundle::SyncClientBuilder::SetBookmarkModelCallback( | 213 void ProfileSyncServiceBundle::SyncClientBuilder::SetBookmarkModelCallback( |
213 const base::Callback<bookmarks::BookmarkModel*(void)>& | 214 const base::Callback<bookmarks::BookmarkModel*(void)>& |
214 get_bookmark_model_callback) { | 215 get_bookmark_model_callback) { |
215 get_bookmark_model_callback_ = get_bookmark_model_callback; | 216 get_bookmark_model_callback_ = get_bookmark_model_callback; |
216 } | 217 } |
217 | 218 |
218 std::unique_ptr<syncer::FakeSyncClient> | 219 std::unique_ptr<sync_driver::FakeSyncClient> |
219 ProfileSyncServiceBundle::SyncClientBuilder::Build() { | 220 ProfileSyncServiceBundle::SyncClientBuilder::Build() { |
220 return base::MakeUnique<BundleSyncClient>( | 221 return base::MakeUnique<BundleSyncClient>( |
221 bundle_->component_factory(), bundle_->pref_service(), | 222 bundle_->component_factory(), bundle_->pref_service(), |
222 bundle_->sync_sessions_client(), personal_data_manager_, | 223 bundle_->sync_sessions_client(), personal_data_manager_, |
223 get_syncable_service_callback_, get_sync_service_callback_, | 224 get_syncable_service_callback_, get_sync_service_callback_, |
224 get_bookmark_model_callback_, | 225 get_bookmark_model_callback_, |
225 activate_model_creation_ ? bundle_->db_thread() : nullptr, | 226 activate_model_creation_ ? bundle_->db_thread() : nullptr, |
226 activate_model_creation_ ? base::ThreadTaskRunnerHandle::Get() : nullptr, | 227 activate_model_creation_ ? base::ThreadTaskRunnerHandle::Get() : nullptr, |
227 history_service_); | 228 history_service_); |
228 } | 229 } |
(...skipping 15 matching lines...) Expand all Loading... |
244 RegisterPrefsForProfileSyncService(pref_service_.registry()); | 245 RegisterPrefsForProfileSyncService(pref_service_.registry()); |
245 auth_service_.set_auto_post_fetch_response_on_message_loop(true); | 246 auth_service_.set_auto_post_fetch_response_on_message_loop(true); |
246 account_tracker_.Initialize(&signin_client_); | 247 account_tracker_.Initialize(&signin_client_); |
247 signin_manager_.Initialize(&pref_service_); | 248 signin_manager_.Initialize(&pref_service_); |
248 } | 249 } |
249 | 250 |
250 ProfileSyncServiceBundle::~ProfileSyncServiceBundle() {} | 251 ProfileSyncServiceBundle::~ProfileSyncServiceBundle() {} |
251 | 252 |
252 ProfileSyncService::InitParams ProfileSyncServiceBundle::CreateBasicInitParams( | 253 ProfileSyncService::InitParams ProfileSyncServiceBundle::CreateBasicInitParams( |
253 ProfileSyncService::StartBehavior start_behavior, | 254 ProfileSyncService::StartBehavior start_behavior, |
254 std::unique_ptr<syncer::SyncClient> sync_client) { | 255 std::unique_ptr<sync_driver::SyncClient> sync_client) { |
255 ProfileSyncService::InitParams init_params; | 256 ProfileSyncService::InitParams init_params; |
256 | 257 |
257 init_params.start_behavior = start_behavior; | 258 init_params.start_behavior = start_behavior; |
258 init_params.sync_client = std::move(sync_client); | 259 init_params.sync_client = std::move(sync_client); |
259 init_params.signin_wrapper = | 260 init_params.signin_wrapper = |
260 base::MakeUnique<SigninManagerWrapper>(signin_manager()); | 261 base::MakeUnique<SigninManagerWrapper>(signin_manager()); |
261 init_params.oauth2_token_service = auth_service(); | 262 init_params.oauth2_token_service = auth_service(); |
262 init_params.network_time_update_callback = | 263 init_params.network_time_update_callback = |
263 base::Bind(&EmptyNetworkTimeUpdate); | 264 base::Bind(&EmptyNetworkTimeUpdate); |
264 init_params.base_directory = base::FilePath(FILE_PATH_LITERAL("dummyPath")); | 265 init_params.base_directory = base::FilePath(FILE_PATH_LITERAL("dummyPath")); |
265 init_params.url_request_context = url_request_context(); | 266 init_params.url_request_context = url_request_context(); |
266 init_params.debug_identifier = "dummyDebugName"; | 267 init_params.debug_identifier = "dummyDebugName"; |
267 init_params.channel = version_info::Channel::UNKNOWN; | 268 init_params.channel = version_info::Channel::UNKNOWN; |
268 init_params.db_thread = db_thread_; | 269 init_params.db_thread = db_thread_; |
269 init_params.file_thread = base::ThreadTaskRunnerHandle::Get(); | 270 init_params.file_thread = base::ThreadTaskRunnerHandle::Get(); |
270 init_params.blocking_pool = worker_pool_owner_.pool().get(); | 271 init_params.blocking_pool = worker_pool_owner_.pool().get(); |
271 | 272 |
272 return init_params; | 273 return init_params; |
273 } | 274 } |
274 | 275 |
275 } // namespace browser_sync | 276 } // namespace browser_sync |
OLD | NEW |