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. 4 5 #include "sync/internal_api/public/engine/passive_model_worker.h" 6 7 #include "base/message_loop/message_loop.h" 8 9 namespace syncer { 10 11 PassiveModelWorker::PassiveModelWorker(const base::MessageLoop* sync_loop, 12 WorkerLoopDestructionObserver* observer) 13 : ModelSafeWorker(observer), 14 sync_loop_(sync_loop) { 15 } 16 17 PassiveModelWorker::~PassiveModelWorker() { 18 } 19 20 void PassiveModelWorker::RegisterForLoopDestruction() { 21 SetWorkingLoopToCurrent(); 22 } 23 24 SyncerError PassiveModelWorker::DoWorkAndWaitUntilDoneImpl( 25 const WorkCallback& work) { 26 DCHECK_EQ(base::MessageLoop::current(), sync_loop_); 27 // Simply do the work on the current thread. 28 return work.Run(); 29 } 30 31 ModelSafeGroup PassiveModelWorker::GetModelSafeGroup() { 32 return GROUP_PASSIVE; 33 } 34 35 } // namespace syncer 36