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

Side by Side Diff: components/browser_sync/profile_sync_test_util.cc

Issue 2471183003: Do not observe MessageLoop destruction from ModelSafeWorker. (Closed)
Patch Set: CR maxbogue #23 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 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/history/core/browser/history_service.h"
12 #include "components/pref_registry/pref_registry_syncable.h" 13 #include "components/pref_registry/pref_registry_syncable.h"
13 #include "components/signin/core/browser/signin_manager_base.h" 14 #include "components/signin/core/browser/signin_manager_base.h"
14 #include "components/sync/base/sync_prefs.h" 15 #include "components/sync/base/sync_prefs.h"
15 #include "components/sync/driver/glue/browser_thread_model_worker.h" 16 #include "components/sync/driver/glue/browser_thread_model_worker.h"
16 #include "components/sync/driver/glue/ui_model_worker.h" 17 #include "components/sync/driver/glue/ui_model_worker.h"
17 #include "components/sync/driver/signin_manager_wrapper.h" 18 #include "components/sync/driver/signin_manager_wrapper.h"
18 #include "components/sync/engine/passive_model_worker.h" 19 #include "components/sync/engine/passive_model_worker.h"
19 #include "net/url_request/url_request_test_util.h" 20 #include "net/url_request/url_request_test_util.h"
20 21
21 namespace browser_sync { 22 namespace browser_sync {
(...skipping 18 matching lines...) Expand all
40 41
41 ~BundleSyncClient() override; 42 ~BundleSyncClient() override;
42 43
43 PrefService* GetPrefService() override; 44 PrefService* GetPrefService() override;
44 sync_sessions::SyncSessionsClient* GetSyncSessionsClient() override; 45 sync_sessions::SyncSessionsClient* GetSyncSessionsClient() override;
45 autofill::PersonalDataManager* GetPersonalDataManager() override; 46 autofill::PersonalDataManager* GetPersonalDataManager() override;
46 base::WeakPtr<syncer::SyncableService> GetSyncableServiceForType( 47 base::WeakPtr<syncer::SyncableService> GetSyncableServiceForType(
47 syncer::ModelType type) override; 48 syncer::ModelType type) override;
48 syncer::SyncService* GetSyncService() override; 49 syncer::SyncService* GetSyncService() override;
49 scoped_refptr<syncer::ModelSafeWorker> CreateModelWorkerForGroup( 50 scoped_refptr<syncer::ModelSafeWorker> CreateModelWorkerForGroup(
50 syncer::ModelSafeGroup group, 51 syncer::ModelSafeGroup group) 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_;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 return get_syncable_service_callback_.Run(type); 115 return get_syncable_service_callback_.Run(type);
116 } 116 }
117 117
118 syncer::SyncService* BundleSyncClient::GetSyncService() { 118 syncer::SyncService* BundleSyncClient::GetSyncService() {
119 if (get_sync_service_callback_.is_null()) 119 if (get_sync_service_callback_.is_null())
120 return syncer::FakeSyncClient::GetSyncService(); 120 return syncer::FakeSyncClient::GetSyncService();
121 return get_sync_service_callback_.Run(); 121 return get_sync_service_callback_.Run();
122 } 122 }
123 123
124 scoped_refptr<syncer::ModelSafeWorker> 124 scoped_refptr<syncer::ModelSafeWorker>
125 BundleSyncClient::CreateModelWorkerForGroup( 125 BundleSyncClient::CreateModelWorkerForGroup(syncer::ModelSafeGroup group) {
126 syncer::ModelSafeGroup group,
127 syncer::WorkerLoopDestructionObserver* observer) {
128 if (!db_thread_) 126 if (!db_thread_)
129 return FakeSyncClient::CreateModelWorkerForGroup(group, observer); 127 return FakeSyncClient::CreateModelWorkerForGroup(group);
130 DCHECK(file_thread_) << "DB thread was specified but FILE thread was not."; 128 DCHECK(file_thread_) << "DB thread was specified but FILE thread was not.";
131 switch (group) { 129 switch (group) {
132 case syncer::GROUP_DB: 130 case syncer::GROUP_DB:
133 return new syncer::BrowserThreadModelWorker(db_thread_, syncer::GROUP_DB, 131 return new syncer::BrowserThreadModelWorker(db_thread_, syncer::GROUP_DB);
134 observer);
135 case syncer::GROUP_FILE: 132 case syncer::GROUP_FILE:
136 return new syncer::BrowserThreadModelWorker(file_thread_, 133 return new syncer::BrowserThreadModelWorker(file_thread_,
137 syncer::GROUP_FILE, observer); 134 syncer::GROUP_FILE);
138 case syncer::GROUP_UI: 135 case syncer::GROUP_UI:
139 return new syncer::UIModelWorker(base::ThreadTaskRunnerHandle::Get(), 136 return new syncer::UIModelWorker(base::ThreadTaskRunnerHandle::Get());
140 observer);
141 case syncer::GROUP_PASSIVE: 137 case syncer::GROUP_PASSIVE:
142 return new syncer::PassiveModelWorker(observer); 138 return new syncer::PassiveModelWorker();
143 case syncer::GROUP_HISTORY: { 139 case syncer::GROUP_HISTORY: {
144 history::HistoryService* history_service = GetHistoryService(); 140 history::HistoryService* history_service = GetHistoryService();
145 if (!history_service) 141 if (!history_service)
146 return nullptr; 142 return nullptr;
147 return new HistoryModelWorker(history_service->AsWeakPtr(), 143 return new HistoryModelWorker(history_service->AsWeakPtr(),
148 base::ThreadTaskRunnerHandle::Get(), 144 base::ThreadTaskRunnerHandle::Get());
149 observer);
150 } 145 }
151 default: 146 default:
152 return nullptr; 147 return nullptr;
153 } 148 }
154 } 149 }
155 150
156 history::HistoryService* BundleSyncClient::GetHistoryService() { 151 history::HistoryService* BundleSyncClient::GetHistoryService() {
157 if (history_service_) 152 if (history_service_)
158 return history_service_; 153 return history_service_;
159 return FakeSyncClient::GetHistoryService(); 154 return FakeSyncClient::GetHistoryService();
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 init_params.debug_identifier = "dummyDebugName"; 261 init_params.debug_identifier = "dummyDebugName";
267 init_params.channel = version_info::Channel::UNKNOWN; 262 init_params.channel = version_info::Channel::UNKNOWN;
268 init_params.db_thread = db_thread_; 263 init_params.db_thread = db_thread_;
269 init_params.file_thread = base::ThreadTaskRunnerHandle::Get(); 264 init_params.file_thread = base::ThreadTaskRunnerHandle::Get();
270 init_params.blocking_pool = worker_pool_owner_.pool().get(); 265 init_params.blocking_pool = worker_pool_owner_.pool().get();
271 266
272 return init_params; 267 return init_params;
273 } 268 }
274 269
275 } // namespace browser_sync 270 } // namespace browser_sync
OLDNEW
« no previous file with comments | « chrome/browser/sync/chrome_sync_client.cc ('k') | components/history/core/browser/history_model_worker.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698