| 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 |