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/browser/profile_sync_test_util.h" | 5 #include "components/browser_sync/browser/profile_sync_test_util.h" |
6 | 6 |
| 7 #include "components/bookmarks/browser/bookmark_model.h" |
7 #include "components/history/core/browser/history_model_worker.h" | 8 #include "components/history/core/browser/history_model_worker.h" |
8 #include "components/pref_registry/pref_registry_syncable.h" | 9 #include "components/pref_registry/pref_registry_syncable.h" |
9 #include "components/signin/core/browser/signin_manager_base.h" | 10 #include "components/signin/core/browser/signin_manager_base.h" |
10 #include "components/sync_driver/glue/browser_thread_model_worker.h" | 11 #include "components/sync_driver/glue/browser_thread_model_worker.h" |
11 #include "components/sync_driver/glue/ui_model_worker.h" | 12 #include "components/sync_driver/glue/ui_model_worker.h" |
12 #include "components/sync_driver/signin_manager_wrapper.h" | 13 #include "components/sync_driver/signin_manager_wrapper.h" |
13 #include "components/sync_driver/sync_prefs.h" | 14 #include "components/sync_driver/sync_prefs.h" |
14 #include "net/url_request/url_request_test_util.h" | 15 #include "net/url_request/url_request_test_util.h" |
15 #include "sync/internal_api/public/engine/passive_model_worker.h" | 16 #include "sync/internal_api/public/engine/passive_model_worker.h" |
16 | 17 |
17 using sync_driver::ClearBrowsingDataCallback; | 18 using sync_driver::ClearBrowsingDataCallback; |
18 | 19 |
19 namespace browser_sync { | 20 namespace browser_sync { |
20 | 21 |
21 namespace { | 22 namespace { |
22 | 23 |
23 class BundleSyncClient : public sync_driver::FakeSyncClient { | 24 class BundleSyncClient : public sync_driver::FakeSyncClient { |
24 public: | 25 public: |
25 BundleSyncClient( | 26 BundleSyncClient( |
26 sync_driver::SyncApiComponentFactory* factory, | 27 sync_driver::SyncApiComponentFactory* factory, |
27 PrefService* pref_service, | 28 PrefService* pref_service, |
28 const ClearBrowsingDataCallback& clear_browsing_data_callback, | 29 const ClearBrowsingDataCallback& clear_browsing_data_callback, |
29 sync_sessions::SyncSessionsClient* sync_sessions_client, | 30 sync_sessions::SyncSessionsClient* sync_sessions_client, |
30 autofill::PersonalDataManager* personal_data_manager, | 31 autofill::PersonalDataManager* personal_data_manager, |
31 const base::Callback<base::WeakPtr<syncer::SyncableService>( | 32 const base::Callback<base::WeakPtr<syncer::SyncableService>( |
32 syncer::ModelType type)>& get_syncable_service_callback, | 33 syncer::ModelType type)>& get_syncable_service_callback, |
33 const base::Callback<sync_driver::SyncService*(void)>& | 34 const base::Callback<sync_driver::SyncService*(void)>& |
34 get_sync_service_callback, | 35 get_sync_service_callback, |
| 36 const base::Callback<bookmarks::BookmarkModel*(void)>& |
| 37 get_bookmark_model_callback, |
35 scoped_refptr<base::SingleThreadTaskRunner> db_thread, | 38 scoped_refptr<base::SingleThreadTaskRunner> db_thread, |
36 scoped_refptr<base::SingleThreadTaskRunner> file_thread, | 39 scoped_refptr<base::SingleThreadTaskRunner> file_thread, |
37 history::HistoryService* history_service); | 40 history::HistoryService* history_service); |
38 | 41 |
39 ~BundleSyncClient() override; | 42 ~BundleSyncClient() override; |
40 | 43 |
41 PrefService* GetPrefService() override; | 44 PrefService* GetPrefService() override; |
42 ClearBrowsingDataCallback GetClearBrowsingDataCallback() override; | 45 ClearBrowsingDataCallback GetClearBrowsingDataCallback() override; |
43 sync_sessions::SyncSessionsClient* GetSyncSessionsClient() override; | 46 sync_sessions::SyncSessionsClient* GetSyncSessionsClient() override; |
44 autofill::PersonalDataManager* GetPersonalDataManager() override; | 47 autofill::PersonalDataManager* GetPersonalDataManager() override; |
45 base::WeakPtr<syncer::SyncableService> GetSyncableServiceForType( | 48 base::WeakPtr<syncer::SyncableService> GetSyncableServiceForType( |
46 syncer::ModelType type) override; | 49 syncer::ModelType type) override; |
47 sync_driver::SyncService* GetSyncService() override; | 50 sync_driver::SyncService* GetSyncService() override; |
48 scoped_refptr<syncer::ModelSafeWorker> CreateModelWorkerForGroup( | 51 scoped_refptr<syncer::ModelSafeWorker> CreateModelWorkerForGroup( |
49 syncer::ModelSafeGroup group, | 52 syncer::ModelSafeGroup group, |
50 syncer::WorkerLoopDestructionObserver* observer) override; | 53 syncer::WorkerLoopDestructionObserver* observer) override; |
51 history::HistoryService* GetHistoryService() override; | 54 history::HistoryService* GetHistoryService() override; |
| 55 bookmarks::BookmarkModel* GetBookmarkModel() override; |
52 | 56 |
53 private: | 57 private: |
54 PrefService* const pref_service_; | 58 PrefService* const pref_service_; |
55 const ClearBrowsingDataCallback clear_browsing_data_callback_; | 59 const ClearBrowsingDataCallback clear_browsing_data_callback_; |
56 sync_sessions::SyncSessionsClient* const sync_sessions_client_; | 60 sync_sessions::SyncSessionsClient* const sync_sessions_client_; |
57 autofill::PersonalDataManager* const personal_data_manager_; | 61 autofill::PersonalDataManager* const personal_data_manager_; |
58 const base::Callback<base::WeakPtr<syncer::SyncableService>( | 62 const base::Callback<base::WeakPtr<syncer::SyncableService>( |
59 syncer::ModelType type)> | 63 syncer::ModelType type)> |
60 get_syncable_service_callback_; | 64 get_syncable_service_callback_; |
61 const base::Callback<sync_driver::SyncService*(void)> | 65 const base::Callback<sync_driver::SyncService*(void)> |
62 get_sync_service_callback_; | 66 get_sync_service_callback_; |
| 67 const base::Callback<bookmarks::BookmarkModel*(void)> |
| 68 get_bookmark_model_callback_; |
63 // These task runners, if not null, are used in CreateModelWorkerForGroup. | 69 // These task runners, if not null, are used in CreateModelWorkerForGroup. |
64 const scoped_refptr<base::SingleThreadTaskRunner> db_thread_; | 70 const scoped_refptr<base::SingleThreadTaskRunner> db_thread_; |
65 const scoped_refptr<base::SingleThreadTaskRunner> file_thread_; | 71 const scoped_refptr<base::SingleThreadTaskRunner> file_thread_; |
66 history::HistoryService* history_service_; | 72 history::HistoryService* history_service_; |
67 }; | 73 }; |
68 | 74 |
69 BundleSyncClient::BundleSyncClient( | 75 BundleSyncClient::BundleSyncClient( |
70 sync_driver::SyncApiComponentFactory* factory, | 76 sync_driver::SyncApiComponentFactory* factory, |
71 PrefService* pref_service, | 77 PrefService* pref_service, |
72 const ClearBrowsingDataCallback& clear_browsing_data_callback, | 78 const ClearBrowsingDataCallback& clear_browsing_data_callback, |
73 sync_sessions::SyncSessionsClient* sync_sessions_client, | 79 sync_sessions::SyncSessionsClient* sync_sessions_client, |
74 autofill::PersonalDataManager* personal_data_manager, | 80 autofill::PersonalDataManager* personal_data_manager, |
75 const base::Callback<base::WeakPtr<syncer::SyncableService>( | 81 const base::Callback<base::WeakPtr<syncer::SyncableService>( |
76 syncer::ModelType type)>& get_syncable_service_callback, | 82 syncer::ModelType type)>& get_syncable_service_callback, |
77 const base::Callback<sync_driver::SyncService*(void)>& | 83 const base::Callback<sync_driver::SyncService*(void)>& |
78 get_sync_service_callback, | 84 get_sync_service_callback, |
| 85 const base::Callback<bookmarks::BookmarkModel*(void)>& |
| 86 get_bookmark_model_callback, |
79 scoped_refptr<base::SingleThreadTaskRunner> db_thread, | 87 scoped_refptr<base::SingleThreadTaskRunner> db_thread, |
80 scoped_refptr<base::SingleThreadTaskRunner> file_thread, | 88 scoped_refptr<base::SingleThreadTaskRunner> file_thread, |
81 history::HistoryService* history_service) | 89 history::HistoryService* history_service) |
82 : sync_driver::FakeSyncClient(factory), | 90 : sync_driver::FakeSyncClient(factory), |
83 pref_service_(pref_service), | 91 pref_service_(pref_service), |
84 clear_browsing_data_callback_(clear_browsing_data_callback), | 92 clear_browsing_data_callback_(clear_browsing_data_callback), |
85 sync_sessions_client_(sync_sessions_client), | 93 sync_sessions_client_(sync_sessions_client), |
86 personal_data_manager_(personal_data_manager), | 94 personal_data_manager_(personal_data_manager), |
87 get_syncable_service_callback_(get_syncable_service_callback), | 95 get_syncable_service_callback_(get_syncable_service_callback), |
88 get_sync_service_callback_(get_sync_service_callback), | 96 get_sync_service_callback_(get_sync_service_callback), |
| 97 get_bookmark_model_callback_(get_bookmark_model_callback), |
89 db_thread_(db_thread), | 98 db_thread_(db_thread), |
90 file_thread_(file_thread), | 99 file_thread_(file_thread), |
91 history_service_(history_service) { | 100 history_service_(history_service) { |
92 DCHECK_EQ(!!db_thread_, !!file_thread_); | 101 DCHECK_EQ(!!db_thread_, !!file_thread_); |
93 } | 102 } |
94 | 103 |
95 BundleSyncClient::~BundleSyncClient() = default; | 104 BundleSyncClient::~BundleSyncClient() = default; |
96 | 105 |
97 PrefService* BundleSyncClient::GetPrefService() { | 106 PrefService* BundleSyncClient::GetPrefService() { |
98 return pref_service_; | 107 return pref_service_; |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 return nullptr; | 162 return nullptr; |
154 } | 163 } |
155 } | 164 } |
156 | 165 |
157 history::HistoryService* BundleSyncClient::GetHistoryService() { | 166 history::HistoryService* BundleSyncClient::GetHistoryService() { |
158 if (history_service_) | 167 if (history_service_) |
159 return history_service_; | 168 return history_service_; |
160 return FakeSyncClient::GetHistoryService(); | 169 return FakeSyncClient::GetHistoryService(); |
161 } | 170 } |
162 | 171 |
| 172 bookmarks::BookmarkModel* BundleSyncClient::GetBookmarkModel() { |
| 173 if (get_bookmark_model_callback_.is_null()) |
| 174 return FakeSyncClient::GetBookmarkModel(); |
| 175 return get_bookmark_model_callback_.Run(); |
| 176 } |
| 177 |
163 } // namespace | 178 } // namespace |
164 | 179 |
165 void EmptyNetworkTimeUpdate(const base::Time&, | 180 void EmptyNetworkTimeUpdate(const base::Time&, |
166 const base::TimeDelta&, | 181 const base::TimeDelta&, |
167 const base::TimeDelta&) {} | 182 const base::TimeDelta&) {} |
168 | 183 |
169 void RegisterPrefsForProfileSyncService( | 184 void RegisterPrefsForProfileSyncService( |
170 user_prefs::PrefRegistrySyncable* registry) { | 185 user_prefs::PrefRegistrySyncable* registry) { |
171 sync_driver::SyncPrefs::RegisterProfilePrefs(registry); | 186 sync_driver::SyncPrefs::RegisterProfilePrefs(registry); |
172 AccountTrackerService::RegisterPrefs(registry); | 187 AccountTrackerService::RegisterPrefs(registry); |
(...skipping 29 matching lines...) Expand all Loading... |
202 const base::Callback<sync_driver::SyncService*(void)>& | 217 const base::Callback<sync_driver::SyncService*(void)>& |
203 get_sync_service_callback) { | 218 get_sync_service_callback) { |
204 get_sync_service_callback_ = get_sync_service_callback; | 219 get_sync_service_callback_ = get_sync_service_callback; |
205 } | 220 } |
206 | 221 |
207 void ProfileSyncServiceBundle::SyncClientBuilder::SetHistoryService( | 222 void ProfileSyncServiceBundle::SyncClientBuilder::SetHistoryService( |
208 history::HistoryService* history_service) { | 223 history::HistoryService* history_service) { |
209 history_service_ = history_service; | 224 history_service_ = history_service; |
210 } | 225 } |
211 | 226 |
| 227 void ProfileSyncServiceBundle::SyncClientBuilder::SetBookmarkModelCallback( |
| 228 const base::Callback<bookmarks::BookmarkModel*(void)>& |
| 229 get_bookmark_model_callback) { |
| 230 get_bookmark_model_callback_ = get_bookmark_model_callback; |
| 231 } |
| 232 |
212 scoped_ptr<sync_driver::FakeSyncClient> | 233 scoped_ptr<sync_driver::FakeSyncClient> |
213 ProfileSyncServiceBundle::SyncClientBuilder::Build() { | 234 ProfileSyncServiceBundle::SyncClientBuilder::Build() { |
214 return make_scoped_ptr(new BundleSyncClient( | 235 return make_scoped_ptr(new BundleSyncClient( |
215 bundle_->component_factory(), bundle_->pref_service(), | 236 bundle_->component_factory(), bundle_->pref_service(), |
216 clear_browsing_data_callback_, bundle_->sync_sessions_client(), | 237 clear_browsing_data_callback_, bundle_->sync_sessions_client(), |
217 personal_data_manager_, get_syncable_service_callback_, | 238 personal_data_manager_, get_syncable_service_callback_, |
218 get_sync_service_callback_, | 239 get_sync_service_callback_, get_bookmark_model_callback_, |
219 activate_model_creation_ ? bundle_->db_thread() : nullptr, | 240 activate_model_creation_ ? bundle_->db_thread() : nullptr, |
220 activate_model_creation_ ? base::ThreadTaskRunnerHandle::Get() : nullptr, | 241 activate_model_creation_ ? base::ThreadTaskRunnerHandle::Get() : nullptr, |
221 history_service_)); | 242 history_service_)); |
222 } | 243 } |
223 | 244 |
224 ProfileSyncServiceBundle::ProfileSyncServiceBundle() | 245 ProfileSyncServiceBundle::ProfileSyncServiceBundle() |
225 : db_thread_(base::ThreadTaskRunnerHandle::Get()), | 246 : db_thread_(base::ThreadTaskRunnerHandle::Get()), |
226 worker_pool_owner_(2, "sync test worker pool"), | 247 worker_pool_owner_(2, "sync test worker pool"), |
227 signin_client_(&pref_service_), | 248 signin_client_(&pref_service_), |
228 #if defined(OS_CHROMEOS) | 249 #if defined(OS_CHROMEOS) |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
260 init_params.debug_identifier = "dummyDebugName"; | 281 init_params.debug_identifier = "dummyDebugName"; |
261 init_params.channel = version_info::Channel::UNKNOWN; | 282 init_params.channel = version_info::Channel::UNKNOWN; |
262 init_params.db_thread = db_thread_; | 283 init_params.db_thread = db_thread_; |
263 init_params.file_thread = base::ThreadTaskRunnerHandle::Get(); | 284 init_params.file_thread = base::ThreadTaskRunnerHandle::Get(); |
264 init_params.blocking_pool = worker_pool_owner_.pool().get(); | 285 init_params.blocking_pool = worker_pool_owner_.pool().get(); |
265 | 286 |
266 return init_params; | 287 return init_params; |
267 } | 288 } |
268 | 289 |
269 } // namespace browser_sync | 290 } // namespace browser_sync |
OLD | NEW |