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_BROWSER_BROWSER_MAIN_LOOP_H_ | 5 #ifndef CONTENT_BROWSER_BROWSER_MAIN_LOOP_H_ |
6 #define CONTENT_BROWSER_BROWSER_MAIN_LOOP_H_ | 6 #define CONTENT_BROWSER_BROWSER_MAIN_LOOP_H_ |
7 | 7 |
8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
12 #include "base/timer/timer.h" | 12 #include "base/timer/timer.h" |
13 #include "build/build_config.h" | 13 #include "build/build_config.h" |
14 #include "content/browser/browser_process_sub_thread.h" | 14 #include "content/browser/browser_process_sub_thread.h" |
15 #include "content/public/browser/browser_main_runner.h" | 15 #include "content/public/browser/browser_main_runner.h" |
| 16 #include "media/audio/audio_manager.h" |
16 | 17 |
17 namespace base { | 18 namespace base { |
18 class CommandLine; | 19 class CommandLine; |
19 class FilePath; | 20 class FilePath; |
20 class HighResolutionTimerManager; | 21 class HighResolutionTimerManager; |
21 class MessageLoop; | 22 class MessageLoop; |
22 class PowerMonitor; | 23 class PowerMonitor; |
23 class SystemMonitor; | 24 class SystemMonitor; |
24 class MemoryPressureMonitor; | 25 class MemoryPressureMonitor; |
25 namespace trace_event { | 26 namespace trace_event { |
26 class TraceEventSystemStatsMonitor; | 27 class TraceEventSystemStatsMonitor; |
27 } // namespace trace_event | 28 } // namespace trace_event |
28 } // namespace base | 29 } // namespace base |
29 | 30 |
30 namespace IPC { | 31 namespace IPC { |
31 class ScopedIPCSupport; | 32 class ScopedIPCSupport; |
32 } | 33 } |
33 | 34 |
34 namespace media { | 35 namespace media { |
35 class AudioManager; | |
36 #if defined(OS_WIN) | 36 #if defined(OS_WIN) |
37 class SystemMessageWindowWin; | 37 class SystemMessageWindowWin; |
38 #elif defined(OS_LINUX) && defined(USE_UDEV) | 38 #elif defined(OS_LINUX) && defined(USE_UDEV) |
39 class DeviceMonitorLinux; | 39 class DeviceMonitorLinux; |
40 #endif | 40 #endif |
41 class UserInputMonitor; | 41 class UserInputMonitor; |
42 #if defined(OS_MACOSX) | 42 #if defined(OS_MACOSX) |
43 class DeviceMonitorMac; | 43 class DeviceMonitorMac; |
44 #endif | 44 #endif |
45 namespace midi { | 45 namespace midi { |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 scoped_ptr<BrowserProcessSubThread> cache_thread_; | 242 scoped_ptr<BrowserProcessSubThread> cache_thread_; |
243 scoped_ptr<BrowserProcessSubThread> io_thread_; | 243 scoped_ptr<BrowserProcessSubThread> io_thread_; |
244 | 244 |
245 // Members initialized in |BrowserThreadsStarted()| -------------------------- | 245 // Members initialized in |BrowserThreadsStarted()| -------------------------- |
246 scoped_ptr<base::Thread> indexed_db_thread_; | 246 scoped_ptr<base::Thread> indexed_db_thread_; |
247 scoped_ptr<MojoShellContext> mojo_shell_context_; | 247 scoped_ptr<MojoShellContext> mojo_shell_context_; |
248 scoped_ptr<IPC::ScopedIPCSupport> mojo_ipc_support_; | 248 scoped_ptr<IPC::ScopedIPCSupport> mojo_ipc_support_; |
249 | 249 |
250 // |user_input_monitor_| has to outlive |audio_manager_|, so declared first. | 250 // |user_input_monitor_| has to outlive |audio_manager_|, so declared first. |
251 scoped_ptr<media::UserInputMonitor> user_input_monitor_; | 251 scoped_ptr<media::UserInputMonitor> user_input_monitor_; |
252 scoped_ptr<media::AudioManager> audio_manager_; | 252 // AudioThread needs to outlive |audio_manager_|. |
| 253 scoped_ptr<base::Thread> audio_thread_; |
| 254 media::ScopedAudioManagerPtr audio_manager_; |
253 | 255 |
254 scoped_ptr<media::midi::MidiManager> midi_manager_; | 256 scoped_ptr<media::midi::MidiManager> midi_manager_; |
255 | 257 |
256 #if defined(OS_WIN) | 258 #if defined(OS_WIN) |
257 scoped_ptr<media::SystemMessageWindowWin> system_message_window_; | 259 scoped_ptr<media::SystemMessageWindowWin> system_message_window_; |
258 #elif defined(OS_LINUX) && defined(USE_UDEV) | 260 #elif defined(OS_LINUX) && defined(USE_UDEV) |
259 scoped_ptr<media::DeviceMonitorLinux> device_monitor_linux_; | 261 scoped_ptr<media::DeviceMonitorLinux> device_monitor_linux_; |
260 #elif defined(OS_MACOSX) && !defined(OS_IOS) | 262 #elif defined(OS_MACOSX) && !defined(OS_IOS) |
261 scoped_ptr<media::DeviceMonitorMac> device_monitor_mac_; | 263 scoped_ptr<media::DeviceMonitorMac> device_monitor_mac_; |
262 #endif | 264 #endif |
263 #if defined(USE_OZONE) | 265 #if defined(USE_OZONE) |
264 scoped_ptr<ui::ClientNativePixmapFactory> client_native_pixmap_factory_; | 266 scoped_ptr<ui::ClientNativePixmapFactory> client_native_pixmap_factory_; |
265 #endif | 267 #endif |
266 | 268 |
267 scoped_ptr<ResourceDispatcherHostImpl> resource_dispatcher_host_; | 269 scoped_ptr<ResourceDispatcherHostImpl> resource_dispatcher_host_; |
268 scoped_ptr<MediaStreamManager> media_stream_manager_; | 270 scoped_ptr<MediaStreamManager> media_stream_manager_; |
269 scoped_ptr<SpeechRecognitionManagerImpl> speech_recognition_manager_; | 271 scoped_ptr<SpeechRecognitionManagerImpl> speech_recognition_manager_; |
270 scoped_ptr<TimeZoneMonitor> time_zone_monitor_; | 272 scoped_ptr<TimeZoneMonitor> time_zone_monitor_; |
271 | 273 |
272 // DO NOT add members here. Add them to the right categories above. | 274 // DO NOT add members here. Add them to the right categories above. |
273 | 275 |
274 DISALLOW_COPY_AND_ASSIGN(BrowserMainLoop); | 276 DISALLOW_COPY_AND_ASSIGN(BrowserMainLoop); |
275 }; | 277 }; |
276 | 278 |
277 } // namespace content | 279 } // namespace content |
278 | 280 |
279 #endif // CONTENT_BROWSER_BROWSER_MAIN_LOOP_H_ | 281 #endif // CONTENT_BROWSER_BROWSER_MAIN_LOOP_H_ |
OLD | NEW |