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__ |