1 // Copyright (c) 2012 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.
5 #include "sync/internal_api/public/engine/passive_model_worker.h"
7 #include "base/message_loop/message_loop.h"
11 PassiveModelWorker::PassiveModelWorker(const base::MessageLoop* sync_loop,
12 WorkerLoopDestructionObserver* observer)
13 : ModelSafeWorker(observer),
14 sync_loop_(sync_loop) {
17 PassiveModelWorker::~PassiveModelWorker() {
20 void PassiveModelWorker::RegisterForLoopDestruction() {
21 base::MessageLoop::current()->AddDestructionObserver(this);
22 SetWorkingLoopToCurrent();
25 SyncerError PassiveModelWorker::DoWorkAndWaitUntilDoneImpl(
26 const WorkCallback& work) {
27 DCHECK_EQ(base::MessageLoop::current(), sync_loop_);
28 // Simply do the work on the current thread.
32 ModelSafeGroup PassiveModelWorker::GetModelSafeGroup() {