1 // Copyright (c) 2011 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.
5 #include "content/public/test/test_browser_thread.h"
7 #include "base/message_loop/message_loop.h"
8 #include "base/threading/thread.h"
9 #include "content/browser/browser_thread_impl.h"
10 #include "content/browser/notification_service_impl.h"
14 class TestBrowserThreadImpl
: public BrowserThreadImpl
{
16 explicit TestBrowserThreadImpl(BrowserThread::ID identifier
)
17 : BrowserThreadImpl(identifier
),
18 notification_service_(NULL
) {
21 TestBrowserThreadImpl(BrowserThread::ID identifier
,
22 base::MessageLoop
* message_loop
)
23 : BrowserThreadImpl(identifier
, message_loop
),
24 notification_service_(NULL
) {}
26 virtual ~TestBrowserThreadImpl() {
30 virtual void Init() OVERRIDE
{
31 notification_service_
= new NotificationServiceImpl
;
32 BrowserThreadImpl::Init();
35 virtual void CleanUp() OVERRIDE
{
36 delete notification_service_
;
37 notification_service_
= NULL
;
38 BrowserThreadImpl::CleanUp();
42 NotificationService
* notification_service_
;
44 DISALLOW_COPY_AND_ASSIGN(TestBrowserThreadImpl
);
47 TestBrowserThread::TestBrowserThread(BrowserThread::ID identifier
)
48 : impl_(new TestBrowserThreadImpl(identifier
)) {
51 TestBrowserThread::TestBrowserThread(BrowserThread::ID identifier
,
52 base::MessageLoop
* message_loop
)
53 : impl_(new TestBrowserThreadImpl(identifier
, message_loop
)) {}
55 TestBrowserThread::~TestBrowserThread() {
59 bool TestBrowserThread::Start() {
60 return impl_
->Start();
63 bool TestBrowserThread::StartIOThread() {
64 base::Thread::Options options
;
65 options
.message_loop_type
= base::MessageLoop::TYPE_IO
;
66 return impl_
->StartWithOptions(options
);
69 void TestBrowserThread::Stop() {
73 bool TestBrowserThread::IsRunning() {
74 return impl_
->IsRunning();
77 base::Thread
* TestBrowserThread::DeprecatedGetThreadObject() {
81 } // namespace content