Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(309)

Side by Side Diff: chrome/browser/chrome_thread.h

Issue 345023: Get rid of MessageLoop* caching in extensions code. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_CHROME_THREAD_H_ 5 #ifndef CHROME_BROWSER_CHROME_THREAD_H_
6 #define CHROME_BROWSER_CHROME_THREAD_H_ 6 #define CHROME_BROWSER_CHROME_THREAD_H_
7 7
8 #include "base/lock.h" 8 #include "base/lock.h"
9 #include "base/task.h" 9 #include "base/task.h"
10 #include "base/thread.h" 10 #include "base/thread.h"
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 // Callable on any thread. Returns whether you're currently on a particular 114 // Callable on any thread. Returns whether you're currently on a particular
115 // thread. 115 // thread.
116 // 116 //
117 // WARNING: 117 // WARNING:
118 // When running under unit-tests, this will return true if you're on the 118 // When running under unit-tests, this will return true if you're on the
119 // main thread and the thread ID you pass in isn't running. This is 119 // main thread and the thread ID you pass in isn't running. This is
120 // normally the correct behavior because you want to ignore these asserts 120 // normally the correct behavior because you want to ignore these asserts
121 // unless you've specifically spun up the threads, but be mindful of it. 121 // unless you've specifically spun up the threads, but be mindful of it.
122 static bool CurrentlyOn(ID identifier); 122 static bool CurrentlyOn(ID identifier);
123 123
124 // If the current message loop is one of the known threads, returns true and
125 // sets identifier to its ID. Otherwise returns false.
126 static bool GetCurrentThreadIdentifier(ID* identifier);
127
124 private: 128 private:
125 // Common initialization code for the constructors. 129 // Common initialization code for the constructors.
126 void Initialize(); 130 void Initialize();
127 131
128 // If the current message loop is one of the known threads, returns true and
129 // sets identifier to its ID. Otherwise returns false.
130 static bool GetCurrentThreadIdentifier(ID* identifier);
131
132 static bool PostTaskHelper( 132 static bool PostTaskHelper(
133 ID identifier, 133 ID identifier,
134 const tracked_objects::Location& from_here, 134 const tracked_objects::Location& from_here,
135 Task* task, 135 Task* task,
136 int64 delay_ms, 136 int64 delay_ms,
137 bool nestable); 137 bool nestable);
138 138
139 // The identifier of this thread. Only one thread can exist with a given 139 // The identifier of this thread. Only one thread can exist with a given
140 // identifier at a given time. 140 // identifier at a given time.
141 ID identifier_; 141 ID identifier_;
142 142
143 // This lock protects |chrome_threads_|. Do not read or modify that array 143 // This lock protects |chrome_threads_|. Do not read or modify that array
144 // without holding this lock. Do not block while holding this lock. 144 // without holding this lock. Do not block while holding this lock.
145 static Lock lock_; 145 static Lock lock_;
146 146
147 // An array of the ChromeThread objects. This array is protected by |lock_|. 147 // An array of the ChromeThread objects. This array is protected by |lock_|.
148 // The threads are not owned by this array. Typically, the threads are owned 148 // The threads are not owned by this array. Typically, the threads are owned
149 // on the UI thread by the g_browser_process object. ChromeThreads remove 149 // on the UI thread by the g_browser_process object. ChromeThreads remove
150 // themselves from this array upon destruction. 150 // themselves from this array upon destruction.
151 static ChromeThread* chrome_threads_[ID_COUNT]; 151 static ChromeThread* chrome_threads_[ID_COUNT];
152 }; 152 };
153 153
154 #endif // #ifndef CHROME_BROWSER_CHROME_THREAD_H_ 154 #endif // #ifndef CHROME_BROWSER_CHROME_THREAD_H_
OLDNEW
« no previous file with comments | « chrome/browser/automation/automation_provider.cc ('k') | chrome/browser/download/download_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698