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 9namespace syncer { 10 11PassiveModelWorker::PassiveModelWorker(const base::MessageLoop* sync_loop, 12 WorkerLoopDestructionObserver* observer) 13 : ModelSafeWorker(observer), 14 sync_loop_(sync_loop) { 15} 16 17PassiveModelWorker::~PassiveModelWorker() { 18} 19 20void PassiveModelWorker::RegisterForLoopDestruction() { 21 SetWorkingLoopToCurrent(); 22} 23 24SyncerError 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 31ModelSafeGroup PassiveModelWorker::GetModelSafeGroup() { 32 return GROUP_PASSIVE; 33} 34 35} // namespace syncer 36