summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chrome_thread.cc
diff options
context:
space:
mode:
authorpaul@chromium.org <paul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-18 01:27:01 +0000
committerpaul@chromium.org <paul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-18 01:27:01 +0000
commit640579651b4a52f58d96db3a693274e3db47efda (patch)
tree169fb159248ba6d10d8393183ec0e912c269558a /chrome/browser/chrome_thread.cc
parentefd73788611d6060d46c0802d7de497539e9814c (diff)
downloadchromium_src-640579651b4a52f58d96db3a693274e3db47efda.zip
chromium_src-640579651b4a52f58d96db3a693274e3db47efda.tar.gz
chromium_src-640579651b4a52f58d96db3a693274e3db47efda.tar.bz2
Add the UI thread to the list of ChromeThreads.
BUG=none TEST=none Review URL: http://codereview.chromium.org/171088 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23605 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chrome_thread.cc')
-rw-r--r--chrome/browser/chrome_thread.cc18
1 files changed, 16 insertions, 2 deletions
diff --git a/chrome/browser/chrome_thread.cc b/chrome/browser/chrome_thread.cc
index 4ef8480..2124c40 100644
--- a/chrome/browser/chrome_thread.cc
+++ b/chrome/browser/chrome_thread.cc
@@ -6,6 +6,7 @@
// Friendly names for the well-known threads.
static const char* chrome_thread_names[ChromeThread::ID_COUNT] = {
+ "", // UI (name assembled in browser_main.cc).
"Chrome_IOThread", // IO
"Chrome_FileThread", // FILE
"Chrome_DBThread", // DB
@@ -19,6 +20,7 @@ static const char* chrome_thread_names[ChromeThread::ID_COUNT] = {
Lock ChromeThread::lock_;
ChromeThread* ChromeThread::chrome_threads_[ID_COUNT] = {
+ NULL, // UI
NULL, // IO
NULL, // FILE
NULL, // DB
@@ -32,9 +34,20 @@ ChromeThread* ChromeThread::chrome_threads_[ID_COUNT] = {
ChromeThread::ChromeThread(ChromeThread::ID identifier)
: Thread(chrome_thread_names[identifier]),
identifier_(identifier) {
+ Initialize();
+}
+
+ChromeThread::ChromeThread()
+ : Thread(MessageLoop::current()->thread_name().c_str()),
+ identifier_(UI) {
+ set_message_loop(MessageLoop::current());
+ Initialize();
+}
+
+void ChromeThread::Initialize() {
AutoLock lock(lock_);
- DCHECK(identifier >= 0 && identifier < ID_COUNT);
- DCHECK(chrome_threads_[identifier] == NULL);
+ DCHECK(identifier_ >= 0 && identifier_ < ID_COUNT);
+ DCHECK(chrome_threads_[identifier_] == NULL);
chrome_threads_[identifier_] = this;
}
@@ -63,3 +76,4 @@ bool ChromeThread::CurrentlyOn(ID identifier) {
MessageLoop* message_loop = GetMessageLoop(identifier);
return MessageLoop::current() == message_loop;
}
+