
Only content/ now has the ability to create BrowserThread objects, with the exception that tests can create the content::TestBrowserThread subclass, and (temporarily) code in chrome/ can create the DeprecatedBrowserThread subclass. A follow-up change will make content/ take care of its own thread creation, remove DeprecatedBrowserThread, and move all state and non-trivial constructors from BrowserThread down to BrowserThreadImpl. Also moved BrowserProcessSubThread into content/ namespace. As part of follow-up cleanup, chrome/ will stop using this class. BUG=98716 TEST=existing Review URL: http://codereview.chromium.org/8392042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107718 0039d316-1c4b-4281-b951-d872f2087c98
49 lines
1.5 KiB
C++
49 lines
1.5 KiB
C++
// 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 CONTENT_BROWSER_BROWSER_PROCESS_SUB_THREAD_H_
|
|
#define CONTENT_BROWSER_BROWSER_PROCESS_SUB_THREAD_H_
|
|
#pragma once
|
|
|
|
#include "base/basictypes.h"
|
|
#include "content/browser/browser_thread_impl.h"
|
|
#include "content/common/content_export.h"
|
|
|
|
namespace content {
|
|
class NotificationService;
|
|
}
|
|
|
|
namespace content {
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// BrowserProcessSubThread
|
|
//
|
|
// This simple thread object is used for the specialized threads that the
|
|
// BrowserProcess spins up.
|
|
//
|
|
// Applications must initialize the COM library before they can call
|
|
// COM library functions other than CoGetMalloc and memory allocation
|
|
// functions, so this class initializes COM for those users.
|
|
class CONTENT_EXPORT BrowserProcessSubThread : public BrowserThreadImpl {
|
|
public:
|
|
explicit BrowserProcessSubThread(BrowserThread::ID identifier);
|
|
virtual ~BrowserProcessSubThread();
|
|
|
|
protected:
|
|
virtual void Init();
|
|
virtual void CleanUp();
|
|
|
|
private:
|
|
// Each specialized thread has its own notification service.
|
|
// Note: We don't use scoped_ptr because the destructor runs on the wrong
|
|
// thread.
|
|
NotificationService* notification_service_;
|
|
|
|
DISALLOW_COPY_AND_ASSIGN(BrowserProcessSubThread);
|
|
};
|
|
|
|
} // namespace content
|
|
|
|
#endif // CONTENT_BROWSER_BROWSER_PROCESS_SUB_THREAD_H_
|