// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chrome/browser/sync/profile_sync_test_util.h" #include "base/bind.h" #include "base/threading/thread.h" using content::BrowserThread; ProfileSyncServiceObserverMock::ProfileSyncServiceObserverMock() {} ProfileSyncServiceObserverMock::~ProfileSyncServiceObserverMock() {} ThreadNotifier::ThreadNotifier(base::Thread* notify_thread) : done_event_(false, false), notify_thread_(notify_thread) {} void ThreadNotifier::Notify(int type, const content::NotificationDetails& details) { Notify(type, content::NotificationService::AllSources(), details); } void ThreadNotifier::Notify(int type, const content::NotificationSource& source, const content::NotificationDetails& details) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); notify_thread_->message_loop()->PostTask( FROM_HERE, base::Bind(&ThreadNotifier::NotifyTask, this, type, source, details)); done_event_.Wait(); } ThreadNotifier::~ThreadNotifier() {} void ThreadNotifier::NotifyTask(int type, const content::NotificationSource& source, const content::NotificationDetails& details) { content::NotificationService::current()->Notify(type, source, details); done_event_.Signal(); }