| Index: chrome/test/thread_observer_helper.h
|
| ===================================================================
|
| --- chrome/test/thread_observer_helper.h (revision 94748)
|
| +++ chrome/test/thread_observer_helper.h (working copy)
|
| @@ -1,70 +0,0 @@
|
| -// 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.
|
| -
|
| -#ifndef CHROME_TEST_THREAD_OBSERVER_HELPER_H__
|
| -#define CHROME_TEST_THREAD_OBSERVER_HELPER_H__
|
| -#pragma once
|
| -
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/synchronization/waitable_event.h"
|
| -#include "content/browser/browser_thread.h"
|
| -#include "content/common/notification_observer_mock.h"
|
| -#include "content/common/notification_registrar.h"
|
| -
|
| -// Helper class to add and remove observers on a non-UI thread from
|
| -// the UI thread.
|
| -template <class T, typename Traits>
|
| -class ThreadObserverHelper : public base::RefCountedThreadSafe<T, Traits> {
|
| - public:
|
| - explicit ThreadObserverHelper(BrowserThread::ID id)
|
| - : id_(id), done_event_(false, false) {}
|
| -
|
| - void Init() {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| - BrowserThread::PostTask(
|
| - id_,
|
| - FROM_HERE,
|
| - NewRunnableMethod(this, &ThreadObserverHelper::RegisterObserversTask));
|
| - done_event_.Wait();
|
| - }
|
| -
|
| - virtual ~ThreadObserverHelper() {
|
| - DCHECK(BrowserThread::CurrentlyOn(id_));
|
| - registrar_.RemoveAll();
|
| - }
|
| -
|
| - NotificationObserverMock* observer() {
|
| - return &observer_;
|
| - }
|
| -
|
| - protected:
|
| - friend class base::RefCountedThreadSafe<T>;
|
| -
|
| - virtual void RegisterObservers() = 0;
|
| -
|
| - NotificationRegistrar registrar_;
|
| - NotificationObserverMock observer_;
|
| -
|
| - private:
|
| - void RegisterObserversTask() {
|
| - DCHECK(BrowserThread::CurrentlyOn(id_));
|
| - RegisterObservers();
|
| - done_event_.Signal();
|
| - }
|
| -
|
| - BrowserThread::ID id_;
|
| - base::WaitableEvent done_event_;
|
| -};
|
| -
|
| -class DBThreadObserverHelper;
|
| -typedef ThreadObserverHelper<
|
| - DBThreadObserverHelper,
|
| - BrowserThread::DeleteOnDBThread> DBThreadObserverHelperBase;
|
| -
|
| -class DBThreadObserverHelper : public DBThreadObserverHelperBase {
|
| - public:
|
| - DBThreadObserverHelper() : DBThreadObserverHelperBase(BrowserThread::DB) {}
|
| -};
|
| -
|
| -#endif // CHROME_TEST_THREAD_OBSERVER_HELPER_H__
|
|
|