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

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

Issue 1837003: Created a stock implementation of the MessageLoopProxy interface than can be ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Rearranged header files Created 10 years, 7 months 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
« no previous file with comments | « chrome/browser/chrome_thread.h ('k') | chrome/browser/chrome_thread_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #include "chrome/browser/chrome_thread.h" 5 #include "chrome/browser/chrome_thread.h"
6 6
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/message_loop_proxy.h" 8 #include "base/message_loop_proxy.h"
9 9
10 // Friendly names for the well-known threads. 10 // Friendly names for the well-known threads.
11 static const char* chrome_thread_names[ChromeThread::ID_COUNT] = { 11 static const char* chrome_thread_names[ChromeThread::ID_COUNT] = {
12 "", // UI (name assembled in browser_main.cc). 12 "", // UI (name assembled in browser_main.cc).
13 "Chrome_DBThread", // DB 13 "Chrome_DBThread", // DB
14 "Chrome_WebKitThread", // WEBKIT 14 "Chrome_WebKitThread", // WEBKIT
15 "Chrome_FileThread", // FILE 15 "Chrome_FileThread", // FILE
16 "Chrome_ProcessLauncherThread", // PROCESS_LAUNCHER 16 "Chrome_ProcessLauncherThread", // PROCESS_LAUNCHER
17 "Chrome_IOThread", // IO 17 "Chrome_IOThread", // IO
18 #if defined(USE_X11) 18 #if defined(USE_X11)
19 "Chrome_Background_X11Thread", // BACKGROUND_X11 19 "Chrome_Background_X11Thread", // BACKGROUND_X11
20 #endif 20 #endif
21 }; 21 };
22 22
23 // An implementation of MessageLoopProxy to be used in conjunction 23 // An implementation of MessageLoopProxy to be used in conjunction
24 // with ChromeThread. 24 // with ChromeThread.
25 class ChromeThreadMessageLoopProxy : public MessageLoopProxy { 25 class ChromeThreadMessageLoopProxy : public base::MessageLoopProxy {
26 public: 26 public:
27 explicit ChromeThreadMessageLoopProxy(ChromeThread::ID identifier) 27 explicit ChromeThreadMessageLoopProxy(ChromeThread::ID identifier)
28 : id_(identifier) { 28 : id_(identifier) {
29 } 29 }
30 30
31 // MessageLoopProxy implementation. 31 // MessageLoopProxy implementation.
32 virtual bool PostTask(const tracked_objects::Location& from_here, 32 virtual bool PostTask(const tracked_objects::Location& from_here,
33 Task* task) { 33 Task* task) {
34 return ChromeThread::PostTask(id_, from_here, task); 34 return ChromeThread::PostTask(id_, from_here, task);
35 } 35 }
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 chrome_threads_[i]->message_loop() == cur_message_loop) { 157 chrome_threads_[i]->message_loop() == cur_message_loop) {
158 *identifier = chrome_threads_[i]->identifier_; 158 *identifier = chrome_threads_[i]->identifier_;
159 return true; 159 return true;
160 } 160 }
161 } 161 }
162 162
163 return false; 163 return false;
164 } 164 }
165 165
166 // static 166 // static
167 scoped_refptr<MessageLoopProxy> ChromeThread::GetMessageLoopProxyForThread( 167 scoped_refptr<base::MessageLoopProxy>
168 ChromeThread::GetMessageLoopProxyForThread(
168 ID identifier) { 169 ID identifier) {
169 scoped_refptr<MessageLoopProxy> proxy = 170 scoped_refptr<base::MessageLoopProxy> proxy =
170 new ChromeThreadMessageLoopProxy(identifier); 171 new ChromeThreadMessageLoopProxy(identifier);
171 return proxy; 172 return proxy;
172 } 173 }
173 174
174 // static 175 // static
175 bool ChromeThread::PostTaskHelper( 176 bool ChromeThread::PostTaskHelper(
176 ID identifier, 177 ID identifier,
177 const tracked_objects::Location& from_here, 178 const tracked_objects::Location& from_here,
178 Task* task, 179 Task* task,
179 int64 delay_ms, 180 int64 delay_ms,
(...skipping 23 matching lines...) Expand all
203 } 204 }
204 } else { 205 } else {
205 delete task; 206 delete task;
206 } 207 }
207 208
208 if (!guaranteed_to_outlive_target_thread) 209 if (!guaranteed_to_outlive_target_thread)
209 lock_.Release(); 210 lock_.Release();
210 211
211 return !!message_loop; 212 return !!message_loop;
212 } 213 }
OLDNEW
« no previous file with comments | « chrome/browser/chrome_thread.h ('k') | chrome/browser/chrome_thread_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698