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 BASE_THREADING_THREAD_RESTRICTIONS_H_ | 5 #ifndef BASE_THREADING_THREAD_RESTRICTIONS_H_ |
6 #define BASE_THREADING_THREAD_RESTRICTIONS_H_ | 6 #define BASE_THREADING_THREAD_RESTRICTIONS_H_ |
7 | 7 |
8 #include "base/base_export.h" | 8 #include "base/base_export.h" |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 | 10 |
11 // See comment at top of thread_checker.h | 11 // See comment at top of thread_checker.h |
12 #if (!defined(NDEBUG) || defined(DCHECK_ALWAYS_ON)) | 12 #if (!defined(NDEBUG) || defined(DCHECK_ALWAYS_ON)) |
13 #define ENABLE_THREAD_RESTRICTIONS 1 | 13 #define ENABLE_THREAD_RESTRICTIONS 1 |
14 #else | 14 #else |
15 #define ENABLE_THREAD_RESTRICTIONS 0 | 15 #define ENABLE_THREAD_RESTRICTIONS 0 |
16 #endif | 16 #endif |
17 | 17 |
18 class AcceleratedPresenter; | 18 class AcceleratedPresenter; |
19 class BrowserProcessImpl; | 19 class BrowserProcessImpl; |
20 class HistogramSynchronizer; | 20 class HistogramSynchronizer; |
21 class MetricsService; | |
22 class NativeBackendKWallet; | 21 class NativeBackendKWallet; |
23 class ScopedAllowWaitForLegacyWebViewApi; | 22 class ScopedAllowWaitForLegacyWebViewApi; |
24 class TestingAutomationProvider; | 23 class TestingAutomationProvider; |
25 | 24 |
26 namespace browser_sync { | 25 namespace browser_sync { |
27 class NonFrontendDataTypeController; | 26 class NonFrontendDataTypeController; |
28 class UIModelWorker; | 27 class UIModelWorker; |
29 } | 28 } |
30 namespace cc { | 29 namespace cc { |
31 class CompletionEvent; | 30 class CompletionEvent; |
(...skipping 22 matching lines...) Expand all Loading... |
54 namespace dbus { | 53 namespace dbus { |
55 class Bus; | 54 class Bus; |
56 } | 55 } |
57 namespace disk_cache { | 56 namespace disk_cache { |
58 class BackendImpl; | 57 class BackendImpl; |
59 class InFlightIO; | 58 class InFlightIO; |
60 } | 59 } |
61 namespace media { | 60 namespace media { |
62 class AudioOutputController; | 61 class AudioOutputController; |
63 } | 62 } |
| 63 namespace metrics { |
| 64 class MetricsService; |
| 65 } |
64 namespace mojo { | 66 namespace mojo { |
65 namespace common { | 67 namespace common { |
66 class WatcherThreadManager; | 68 class WatcherThreadManager; |
67 } | 69 } |
68 } | 70 } |
69 namespace net { | 71 namespace net { |
70 class FileStreamPosix; | 72 class FileStreamPosix; |
71 class FileStreamWin; | 73 class FileStreamWin; |
72 namespace internal { | 74 namespace internal { |
73 class AddressTrackerLinux; | 75 class AddressTrackerLinux; |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 friend class content::TextInputClientMac; // http://crbug.com/121917 | 218 friend class content::TextInputClientMac; // http://crbug.com/121917 |
217 friend class dbus::Bus; // http://crbug.com/125222 | 219 friend class dbus::Bus; // http://crbug.com/125222 |
218 friend class disk_cache::BackendImpl; // http://crbug.com/74623 | 220 friend class disk_cache::BackendImpl; // http://crbug.com/74623 |
219 friend class disk_cache::InFlightIO; // http://crbug.com/74623 | 221 friend class disk_cache::InFlightIO; // http://crbug.com/74623 |
220 friend class media::AudioOutputController; // http://crbug.com/120973 | 222 friend class media::AudioOutputController; // http://crbug.com/120973 |
221 friend class net::FileStreamPosix; // http://crbug.com/115067 | 223 friend class net::FileStreamPosix; // http://crbug.com/115067 |
222 friend class net::FileStreamWin; // http://crbug.com/115067 | 224 friend class net::FileStreamWin; // http://crbug.com/115067 |
223 friend class net::internal::AddressTrackerLinux; // http://crbug.com/125097 | 225 friend class net::internal::AddressTrackerLinux; // http://crbug.com/125097 |
224 friend class ::AcceleratedPresenter; // http://crbug.com/125391 | 226 friend class ::AcceleratedPresenter; // http://crbug.com/125391 |
225 friend class ::BrowserProcessImpl; // http://crbug.com/125207 | 227 friend class ::BrowserProcessImpl; // http://crbug.com/125207 |
226 friend class ::MetricsService; // http://crbug.com/124954 | 228 friend class metrics::MetricsService; // http://crbug.com/124954 |
227 friend class ::NativeBackendKWallet; // http://crbug.com/125331 | 229 friend class ::NativeBackendKWallet; // http://crbug.com/125331 |
228 // END USAGE THAT NEEDS TO BE FIXED. | 230 // END USAGE THAT NEEDS TO BE FIXED. |
229 | 231 |
230 #if ENABLE_THREAD_RESTRICTIONS | 232 #if ENABLE_THREAD_RESTRICTIONS |
231 static bool SetWaitAllowed(bool allowed); | 233 static bool SetWaitAllowed(bool allowed); |
232 #else | 234 #else |
233 static bool SetWaitAllowed(bool allowed) { return true; } | 235 static bool SetWaitAllowed(bool allowed) { return true; } |
234 #endif | 236 #endif |
235 | 237 |
236 // Constructing a ScopedAllowWait temporarily allows waiting on the current | 238 // Constructing a ScopedAllowWait temporarily allows waiting on the current |
(...skipping 11 matching lines...) Expand all Loading... |
248 | 250 |
249 DISALLOW_COPY_AND_ASSIGN(ScopedAllowWait); | 251 DISALLOW_COPY_AND_ASSIGN(ScopedAllowWait); |
250 }; | 252 }; |
251 | 253 |
252 DISALLOW_IMPLICIT_CONSTRUCTORS(ThreadRestrictions); | 254 DISALLOW_IMPLICIT_CONSTRUCTORS(ThreadRestrictions); |
253 }; | 255 }; |
254 | 256 |
255 } // namespace base | 257 } // namespace base |
256 | 258 |
257 #endif // BASE_THREADING_THREAD_RESTRICTIONS_H_ | 259 #endif // BASE_THREADING_THREAD_RESTRICTIONS_H_ |
OLD | NEW |