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

Unified Diff: components/sync/driver/glue/sync_backend_registrar.cc

Issue 2480203002: ui: Cleanup class/struct forward declarations (Closed)
Patch Set: Sync CL to position 430550 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 side-by-side diff with in-line comments
Download patch
Index: components/sync/driver/glue/sync_backend_registrar.cc
diff --git a/components/sync/driver/glue/sync_backend_registrar.cc b/components/sync/driver/glue/sync_backend_registrar.cc
index fd0ebc390242a0a8ef70624673124239cd207953..6d903a59f1a7f28c460b11086ebb9fa2af63d3bf 100644
--- a/components/sync/driver/glue/sync_backend_registrar.cc
+++ b/components/sync/driver/glue/sync_backend_registrar.cc
@@ -10,7 +10,6 @@
#include "base/logging.h"
#include "base/memory/ptr_util.h"
-#include "base/message_loop/message_loop.h"
#include "components/sync/driver/change_processor.h"
#include "components/sync/driver/sync_client.h"
#include "components/sync/syncable/user_share.h"
@@ -20,7 +19,6 @@ namespace syncer {
SyncBackendRegistrar::SyncBackendRegistrar(
const std::string& name,
SyncClient* sync_client,
- std::unique_ptr<base::Thread> sync_thread,
const scoped_refptr<base::SingleThreadTaskRunner>& ui_thread,
const scoped_refptr<base::SingleThreadTaskRunner>& db_thread,
const scoped_refptr<base::SingleThreadTaskRunner>& file_thread)
@@ -32,14 +30,6 @@ SyncBackendRegistrar::SyncBackendRegistrar(
DCHECK(ui_thread_->BelongsToCurrentThread());
DCHECK(sync_client_);
- sync_thread_ = std::move(sync_thread);
- if (!sync_thread_) {
- sync_thread_ = base::MakeUnique<base::Thread>("Chrome_SyncThread");
- base::Thread::Options options;
- options.timer_slack = base::TIMER_SLACK_MAXIMUM;
- CHECK(sync_thread_->StartWithOptions(options));
- }
-
MaybeAddWorker(GROUP_DB);
MaybeAddWorker(GROUP_FILE);
MaybeAddWorker(GROUP_UI);
@@ -312,69 +302,19 @@ bool SyncBackendRegistrar::IsOnThreadForGroup(ModelType type,
}
SyncBackendRegistrar::~SyncBackendRegistrar() {
- DCHECK(workers_.empty());
-}
-
-void SyncBackendRegistrar::OnWorkerLoopDestroyed(ModelSafeGroup group) {
- RemoveWorker(group);
+ // All data types should have been deactivated by now.
+ DCHECK(processors_.empty());
}
void SyncBackendRegistrar::MaybeAddWorker(ModelSafeGroup group) {
const scoped_refptr<ModelSafeWorker> worker =
- sync_client_->CreateModelWorkerForGroup(group, this);
+ sync_client_->CreateModelWorkerForGroup(group);
if (worker) {
DCHECK(workers_.find(group) == workers_.end());
workers_[group] = worker;
- workers_[group]->RegisterForLoopDestruction();
}
}
-void SyncBackendRegistrar::OnWorkerUnregistrationDone(ModelSafeGroup group) {
- RemoveWorker(group);
-}
-
-void SyncBackendRegistrar::RemoveWorker(ModelSafeGroup group) {
- DVLOG(1) << "Remove " << ModelSafeGroupToString(group) << " worker.";
-
- bool last_worker = false;
- {
- base::AutoLock al(lock_);
- WorkerMap::iterator it = workers_.find(group);
- CHECK(it != workers_.end());
- stopped_workers_.push_back(it->second);
- workers_.erase(it);
- last_worker = workers_.empty();
- }
-
- if (last_worker) {
- // Self-destruction after last worker.
- DVLOG(1) << "Destroy registrar on loop of "
- << ModelSafeGroupToString(group);
- delete this;
- }
-}
-
-std::unique_ptr<base::Thread> SyncBackendRegistrar::ReleaseSyncThread() {
- return std::move(sync_thread_);
-}
-
-void SyncBackendRegistrar::Shutdown() {
- // All data types should have been deactivated by now.
- DCHECK(processors_.empty());
-
- // Unregister worker from observing loop destruction.
- base::AutoLock al(lock_);
- for (WorkerMap::iterator it = workers_.begin(); it != workers_.end(); ++it) {
- it->second->UnregisterForLoopDestruction(
- base::Bind(&SyncBackendRegistrar::OnWorkerUnregistrationDone,
- base::Unretained(this)));
- }
-}
-
-base::Thread* SyncBackendRegistrar::sync_thread() {
- return sync_thread_.get();
-}
-
ModelSafeGroup SyncBackendRegistrar::GetInitialGroupForType(
ModelType type) const {
return non_blocking_types_.Has(type) ? GROUP_NON_BLOCKING : GROUP_PASSIVE;
« no previous file with comments | « components/sync/driver/glue/sync_backend_registrar.h ('k') | components/sync/driver/glue/sync_backend_registrar_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698