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 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 namespace net { | 24 namespace net { |
25 class NetworkChangeNotifier; | 25 class NetworkChangeNotifier; |
26 } | 26 } |
27 | 27 |
28 namespace content { | 28 namespace content { |
29 | 29 |
30 class BrowserMainParts; | 30 class BrowserMainParts; |
31 class BrowserShutdownImpl; | 31 class BrowserShutdownImpl; |
32 class BrowserThreadImpl; | 32 class BrowserThreadImpl; |
33 struct MainFunctionParams; | 33 struct MainFunctionParams; |
| 34 class MediaDeviceNotificationsLinux; |
34 class WebKitThread; | 35 class WebKitThread; |
35 | 36 |
36 // Implements the main browser loop stages called from |BrowserMain()|. | 37 // Implements the main browser loop stages called from |BrowserMain()|. |
37 // See comments in browser_main_parts.h for additional info. | 38 // See comments in browser_main_parts.h for additional info. |
38 // All functions are to be called only on the UI thread unless otherwise noted. | 39 // All functions are to be called only on the UI thread unless otherwise noted. |
39 class BrowserMainLoop { | 40 class BrowserMainLoop { |
40 public: | 41 public: |
41 explicit BrowserMainLoop(const content::MainFunctionParams& parameters); | 42 explicit BrowserMainLoop(const content::MainFunctionParams& parameters); |
42 virtual ~BrowserMainLoop(); | 43 virtual ~BrowserMainLoop(); |
43 | 44 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 int result_code_; | 80 int result_code_; |
80 | 81 |
81 // Members initialized in |MainMessageLoopStart()| --------------------------- | 82 // Members initialized in |MainMessageLoopStart()| --------------------------- |
82 scoped_ptr<MessageLoop> main_message_loop_; | 83 scoped_ptr<MessageLoop> main_message_loop_; |
83 scoped_ptr<base::SystemMonitor> system_monitor_; | 84 scoped_ptr<base::SystemMonitor> system_monitor_; |
84 scoped_ptr<HighResolutionTimerManager> hi_res_timer_manager_; | 85 scoped_ptr<HighResolutionTimerManager> hi_res_timer_manager_; |
85 scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_; | 86 scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_; |
86 scoped_ptr<AudioManager> audio_manager_; | 87 scoped_ptr<AudioManager> audio_manager_; |
87 #if defined(OS_WIN) | 88 #if defined(OS_WIN) |
88 scoped_ptr<SystemMessageWindowWin> system_message_window_; | 89 scoped_ptr<SystemMessageWindowWin> system_message_window_; |
| 90 #elif defined(OS_LINUX) |
| 91 scoped_refptr<MediaDeviceNotificationsLinux> |
| 92 media_device_notifications_linux_; |
89 #endif | 93 #endif |
90 | 94 |
91 // Destroy parts_ before main_message_loop_ (required) and before other | 95 // Destroy parts_ before main_message_loop_ (required) and before other |
92 // classes constructed in content (but after main_thread_). | 96 // classes constructed in content (but after main_thread_). |
93 scoped_ptr<BrowserMainParts> parts_; | 97 scoped_ptr<BrowserMainParts> parts_; |
94 | 98 |
95 // Members initialized in |InitializeMainThread()| --------------------------- | 99 // Members initialized in |InitializeMainThread()| --------------------------- |
96 // This must get destroyed before other threads that are created in parts_. | 100 // This must get destroyed before other threads that are created in parts_. |
97 scoped_ptr<BrowserThreadImpl> main_thread_; | 101 scoped_ptr<BrowserThreadImpl> main_thread_; |
98 | 102 |
99 // Members initialized in |BrowserThreadsStarted()| -------------------------- | 103 // Members initialized in |BrowserThreadsStarted()| -------------------------- |
100 scoped_ptr<ResourceDispatcherHost> resource_dispatcher_host_; | 104 scoped_ptr<ResourceDispatcherHost> resource_dispatcher_host_; |
101 | 105 |
102 // Members initialized in |RunMainMessageLoopParts()| ------------------------ | 106 // Members initialized in |RunMainMessageLoopParts()| ------------------------ |
103 scoped_ptr<BrowserProcessSubThread> db_thread_; | 107 scoped_ptr<BrowserProcessSubThread> db_thread_; |
104 scoped_ptr<WebKitThread> webkit_thread_; | 108 scoped_ptr<WebKitThread> webkit_thread_; |
105 scoped_ptr<BrowserProcessSubThread> file_user_blocking_thread_; | 109 scoped_ptr<BrowserProcessSubThread> file_user_blocking_thread_; |
106 scoped_ptr<BrowserProcessSubThread> file_thread_; | 110 scoped_ptr<BrowserProcessSubThread> file_thread_; |
107 scoped_ptr<BrowserProcessSubThread> process_launcher_thread_; | 111 scoped_ptr<BrowserProcessSubThread> process_launcher_thread_; |
108 scoped_ptr<BrowserProcessSubThread> cache_thread_; | 112 scoped_ptr<BrowserProcessSubThread> cache_thread_; |
109 scoped_ptr<BrowserProcessSubThread> io_thread_; | 113 scoped_ptr<BrowserProcessSubThread> io_thread_; |
110 | 114 |
111 DISALLOW_COPY_AND_ASSIGN(BrowserMainLoop); | 115 DISALLOW_COPY_AND_ASSIGN(BrowserMainLoop); |
112 }; | 116 }; |
113 | 117 |
114 } // namespace content | 118 } // namespace content |
115 | 119 |
116 #endif // CONTENT_BROWSER_BROWSER_MAIN_LOOP_H_ | 120 #endif // CONTENT_BROWSER_BROWSER_MAIN_LOOP_H_ |
OLD | NEW |