OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 CONTENT_PUBLIC_BROWSER_BROWSER_THREAD_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_BROWSER_THREAD_H_ |
6 #define CONTENT_PUBLIC_BROWSER_BROWSER_THREAD_H_ | 6 #define CONTENT_PUBLIC_BROWSER_BROWSER_THREAD_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 // The main thread in the browser. | 67 // The main thread in the browser. |
68 UI, | 68 UI, |
69 | 69 |
70 // This is the thread that interacts with the database. | 70 // This is the thread that interacts with the database. |
71 DB, | 71 DB, |
72 | 72 |
73 // This is the thread that interacts with the file system. | 73 // This is the thread that interacts with the file system. |
74 // DEPRECATED: prefer base/task_scheduler/post_task.h for new classes | 74 // DEPRECATED: prefer base/task_scheduler/post_task.h for new classes |
75 // requiring a background file I/O task runner, i.e.: | 75 // requiring a background file I/O task runner, i.e.: |
76 // base::CreateSequencedTaskRunnerWithTraits( | 76 // base::CreateSequencedTaskRunnerWithTraits( |
77 // base::TaskTraits().MayBlock() | 77 // {base::MayBlock(), base::TaskPriority::BACKGROUND}) |
78 // .WithPriority(base::TaskPriority::BACKGROUND)) | |
79 // Note: You can use base::TaskPriority::USER_VISIBLE instead of | 78 // Note: You can use base::TaskPriority::USER_VISIBLE instead of |
80 // base::TaskPriority::BACKGROUND if the latency of this operation | 79 // base::TaskPriority::BACKGROUND if the latency of this operation |
81 // is visible but non-blocking to the user. | 80 // is visible but non-blocking to the user. |
82 FILE, | 81 FILE, |
83 | 82 |
84 // Used for file system operations that block user interactions. | 83 // Used for file system operations that block user interactions. |
85 // Responsiveness of this thread affect users. | 84 // Responsiveness of this thread affect users. |
86 // DEPRECATED: prefer base/task_scheduler/post_task.h for new classes | 85 // DEPRECATED: prefer base/task_scheduler/post_task.h for new classes |
87 // requiring a user-blocking file I/O task runner, i.e.: | 86 // requiring a user-blocking file I/O task runner, i.e.: |
88 // base::CreateSequencedTaskRunnerWithTraits( | 87 // base::CreateSequencedTaskRunnerWithTraits( |
89 // base::TaskTraits().MayBlock() | 88 // {base::MayBlock(), base::TaskPriority::USER_BLOCKING}) |
90 // .WithPriority(base::TaskPriority::USER_BLOCKING)) | |
91 FILE_USER_BLOCKING, | 89 FILE_USER_BLOCKING, |
92 | 90 |
93 // Used to launch and terminate Chrome processes. | 91 // Used to launch and terminate Chrome processes. |
94 PROCESS_LAUNCHER, | 92 PROCESS_LAUNCHER, |
95 | 93 |
96 // This is the thread to handle slow HTTP cache operations. | 94 // This is the thread to handle slow HTTP cache operations. |
97 CACHE, | 95 CACHE, |
98 | 96 |
99 // This is the thread that processes non-blocking IO, i.e. IPC and network. | 97 // This is the thread that processes non-blocking IO, i.e. IPC and network. |
100 // Blocking IO should happen on other threads like DB, FILE, | 98 // Blocking IO should happen on other threads like DB, FILE, |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 | 215 |
218 // Returns the thread pool used for blocking file I/O. Use this object to | 216 // Returns the thread pool used for blocking file I/O. Use this object to |
219 // perform random blocking operations such as file writes. | 217 // perform random blocking operations such as file writes. |
220 // | 218 // |
221 // DEPRECATED: use an independent TaskRunner obtained from | 219 // DEPRECATED: use an independent TaskRunner obtained from |
222 // base/task_scheduler/post_task.h instead, e.g.: | 220 // base/task_scheduler/post_task.h instead, e.g.: |
223 // BrowserThread::GetBlockingPool()->GetSequencedTaskRunner( | 221 // BrowserThread::GetBlockingPool()->GetSequencedTaskRunner( |
224 // base::SequencedWorkerPool::GetSequenceToken()) | 222 // base::SequencedWorkerPool::GetSequenceToken()) |
225 // => | 223 // => |
226 // base::CreateSequencedTaskRunnerWithTraits( | 224 // base::CreateSequencedTaskRunnerWithTraits( |
227 // base::TaskTraits().MayBlock()...). | 225 // {base::MayBlock()}). |
228 static base::SequencedWorkerPool* GetBlockingPool() WARN_UNUSED_RESULT; | 226 static base::SequencedWorkerPool* GetBlockingPool() WARN_UNUSED_RESULT; |
229 | 227 |
230 // Callable on any thread. Returns whether the given well-known thread is | 228 // Callable on any thread. Returns whether the given well-known thread is |
231 // initialized. | 229 // initialized. |
232 static bool IsThreadInitialized(ID identifier) WARN_UNUSED_RESULT; | 230 static bool IsThreadInitialized(ID identifier) WARN_UNUSED_RESULT; |
233 | 231 |
234 // Callable on any thread. Returns whether you're currently on a particular | 232 // Callable on any thread. Returns whether you're currently on a particular |
235 // thread. To DCHECK this, use the DCHECK_CURRENTLY_ON() macro above. | 233 // thread. To DCHECK this, use the DCHECK_CURRENTLY_ON() macro above. |
236 static bool CurrentlyOn(ID identifier) WARN_UNUSED_RESULT; | 234 static bool CurrentlyOn(ID identifier) WARN_UNUSED_RESULT; |
237 | 235 |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
319 private: | 317 private: |
320 friend class BrowserThreadImpl; | 318 friend class BrowserThreadImpl; |
321 | 319 |
322 BrowserThread() {} | 320 BrowserThread() {} |
323 DISALLOW_COPY_AND_ASSIGN(BrowserThread); | 321 DISALLOW_COPY_AND_ASSIGN(BrowserThread); |
324 }; | 322 }; |
325 | 323 |
326 } // namespace content | 324 } // namespace content |
327 | 325 |
328 #endif // CONTENT_PUBLIC_BROWSER_BROWSER_THREAD_H_ | 326 #endif // CONTENT_PUBLIC_BROWSER_BROWSER_THREAD_H_ |
OLD | NEW |