| 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 <memory> | 8 #include <memory> |
| 9 | 9 |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| 11 #include "base/macros.h" | 11 #include "base/macros.h" |
| 12 #include "base/memory/ref_counted.h" | 12 #include "base/memory/ref_counted.h" |
| 13 #include "base/timer/timer.h" | 13 #include "base/timer/timer.h" |
| 14 #include "build/build_config.h" | 14 #include "build/build_config.h" |
| 15 #include "content/browser/browser_process_sub_thread.h" | 15 #include "content/browser/browser_process_sub_thread.h" |
| 16 #include "content/public/browser/browser_main_runner.h" | 16 #include "content/public/browser/browser_main_runner.h" |
| 17 #include "media/audio/audio_manager.h" | |
| 18 #include "services/resource_coordinator/memory/coordinator/coordinator_impl.h" | 17 #include "services/resource_coordinator/memory/coordinator/coordinator_impl.h" |
| 19 | 18 |
| 20 #if defined(USE_AURA) | 19 #if defined(USE_AURA) |
| 21 namespace aura { | 20 namespace aura { |
| 22 class Env; | 21 class Env; |
| 23 } | 22 } |
| 24 #endif | 23 #endif |
| 25 | 24 |
| 26 namespace base { | 25 namespace base { |
| 27 class CommandLine; | 26 class CommandLine; |
| 28 class FilePath; | 27 class FilePath; |
| 29 class HighResolutionTimerManager; | 28 class HighResolutionTimerManager; |
| 30 class MemoryPressureMonitor; | 29 class MemoryPressureMonitor; |
| 31 class MessageLoop; | 30 class MessageLoop; |
| 32 class PowerMonitor; | 31 class PowerMonitor; |
| 33 class SystemMonitor; | 32 class SystemMonitor; |
| 34 namespace trace_event { | 33 namespace trace_event { |
| 35 class TraceEventSystemStatsMonitor; | 34 class TraceEventSystemStatsMonitor; |
| 36 } // namespace trace_event | 35 } // namespace trace_event |
| 37 } // namespace base | 36 } // namespace base |
| 38 | 37 |
| 39 namespace discardable_memory { | 38 namespace discardable_memory { |
| 40 class DiscardableSharedMemoryManager; | 39 class DiscardableSharedMemoryManager; |
| 41 } | 40 } |
| 42 | 41 |
| 43 namespace media { | 42 namespace media { |
| 43 class AudioManager; |
| 44 class AudioSystem; | 44 class AudioSystem; |
| 45 #if defined(OS_WIN) | 45 #if defined(OS_WIN) |
| 46 class SystemMessageWindowWin; | 46 class SystemMessageWindowWin; |
| 47 #elif defined(OS_LINUX) && defined(USE_UDEV) | 47 #elif defined(OS_LINUX) && defined(USE_UDEV) |
| 48 class DeviceMonitorLinux; | 48 class DeviceMonitorLinux; |
| 49 #endif | 49 #endif |
| 50 class UserInputMonitor; | 50 class UserInputMonitor; |
| 51 #if defined(OS_MACOSX) | 51 #if defined(OS_MACOSX) |
| 52 class DeviceMonitorMac; | 52 class DeviceMonitorMac; |
| 53 #endif | 53 #endif |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 187 | 187 |
| 188 void MainMessageLoopRun(); | 188 void MainMessageLoopRun(); |
| 189 | 189 |
| 190 void InitializeMojo(); | 190 void InitializeMojo(); |
| 191 base::FilePath GetStartupTraceFileName( | 191 base::FilePath GetStartupTraceFileName( |
| 192 const base::CommandLine& command_line) const; | 192 const base::CommandLine& command_line) const; |
| 193 void InitStartupTracingForDuration(const base::CommandLine& command_line); | 193 void InitStartupTracingForDuration(const base::CommandLine& command_line); |
| 194 void EndStartupTracing(); | 194 void EndStartupTracing(); |
| 195 | 195 |
| 196 void CreateAudioManager(); | 196 void CreateAudioManager(); |
| 197 void DestroyAudioManager(); |
| 198 |
| 197 bool UsingInProcessGpu() const; | 199 bool UsingInProcessGpu() const; |
| 198 | 200 |
| 199 void InitializeMemoryManagementComponent(); | 201 void InitializeMemoryManagementComponent(); |
| 200 | 202 |
| 201 // Quick reference for initialization order: | 203 // Quick reference for initialization order: |
| 202 // Constructor | 204 // Constructor |
| 203 // Init() | 205 // Init() |
| 204 // EarlyInitialization() | 206 // EarlyInitialization() |
| 205 // InitializeToolkit() | 207 // InitializeToolkit() |
| 206 // PreMainMessageLoopStart() | 208 // PreMainMessageLoopStart() |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 std::unique_ptr<BrowserProcessSubThread> cache_thread_; | 290 std::unique_ptr<BrowserProcessSubThread> cache_thread_; |
| 289 std::unique_ptr<BrowserProcessSubThread> io_thread_; | 291 std::unique_ptr<BrowserProcessSubThread> io_thread_; |
| 290 | 292 |
| 291 // Members initialized in |BrowserThreadsStarted()| -------------------------- | 293 // Members initialized in |BrowserThreadsStarted()| -------------------------- |
| 292 std::unique_ptr<base::Thread> indexed_db_thread_; | 294 std::unique_ptr<base::Thread> indexed_db_thread_; |
| 293 std::unique_ptr<ServiceManagerContext> service_manager_context_; | 295 std::unique_ptr<ServiceManagerContext> service_manager_context_; |
| 294 std::unique_ptr<mojo::edk::ScopedIPCSupport> mojo_ipc_support_; | 296 std::unique_ptr<mojo::edk::ScopedIPCSupport> mojo_ipc_support_; |
| 295 | 297 |
| 296 // |user_input_monitor_| has to outlive |audio_manager_|, so declared first. | 298 // |user_input_monitor_| has to outlive |audio_manager_|, so declared first. |
| 297 std::unique_ptr<media::UserInputMonitor> user_input_monitor_; | 299 std::unique_ptr<media::UserInputMonitor> user_input_monitor_; |
| 298 // AudioThread needs to outlive |audio_manager_|. | 300 std::unique_ptr<media::AudioManager> audio_manager_; |
| 301 // |audio_thread_| must be stopped before |audio_manager_| is deleted so |
| 302 // that tasks referering to the |audio_manager_| cannot be posted. |
| 299 std::unique_ptr<AudioManagerThread> audio_thread_; | 303 std::unique_ptr<AudioManagerThread> audio_thread_; |
| 300 media::ScopedAudioManagerPtr audio_manager_; | |
| 301 // Calls to |audio_system_| must not be posted to the audio thread if it | 304 // Calls to |audio_system_| must not be posted to the audio thread if it |
| 302 // differs from the UI one. | 305 // differs from the UI one. |
| 303 std::unique_ptr<media::AudioSystem> audio_system_; | 306 std::unique_ptr<media::AudioSystem> audio_system_; |
| 304 | 307 |
| 305 std::unique_ptr<midi::MidiService> midi_service_; | 308 std::unique_ptr<midi::MidiService> midi_service_; |
| 306 | 309 |
| 307 #if defined(OS_WIN) | 310 #if defined(OS_WIN) |
| 308 std::unique_ptr<media::SystemMessageWindowWin> system_message_window_; | 311 std::unique_ptr<media::SystemMessageWindowWin> system_message_window_; |
| 309 #elif defined(OS_LINUX) && defined(USE_UDEV) | 312 #elif defined(OS_LINUX) && defined(USE_UDEV) |
| 310 std::unique_ptr<media::DeviceMonitorLinux> device_monitor_linux_; | 313 std::unique_ptr<media::DeviceMonitorLinux> device_monitor_linux_; |
| (...skipping 15 matching lines...) Expand all Loading... |
| 326 memory_instrumentation_coordinator_; | 329 memory_instrumentation_coordinator_; |
| 327 | 330 |
| 328 // DO NOT add members here. Add them to the right categories above. | 331 // DO NOT add members here. Add them to the right categories above. |
| 329 | 332 |
| 330 DISALLOW_COPY_AND_ASSIGN(BrowserMainLoop); | 333 DISALLOW_COPY_AND_ASSIGN(BrowserMainLoop); |
| 331 }; | 334 }; |
| 332 | 335 |
| 333 } // namespace content | 336 } // namespace content |
| 334 | 337 |
| 335 #endif // CONTENT_BROWSER_BROWSER_MAIN_LOOP_H_ | 338 #endif // CONTENT_BROWSER_BROWSER_MAIN_LOOP_H_ |
| OLD | NEW |