| OLD | NEW | 
|    1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 2010 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 CHROME_BROWSER_BROWSER_MAIN_H_ |    5 #ifndef CHROME_BROWSER_BROWSER_MAIN_H_ | 
|    6 #define CHROME_BROWSER_BROWSER_MAIN_H_ |    6 #define CHROME_BROWSER_BROWSER_MAIN_H_ | 
|    7 #pragma once |    7 #pragma once | 
|    8  |    8  | 
|    9 #include "base/basictypes.h" |    9 #include "base/basictypes.h" | 
|   10 #include "base/metrics/field_trial.h" |   10 #include "base/metrics/field_trial.h" | 
|   11 #include "base/scoped_ptr.h" |   11 #include "base/scoped_ptr.h" | 
|   12 #include "base/tracked_objects.h" |   12 #include "base/tracked_objects.h" | 
|   13  |   13  | 
|   14 class BrowserThread; |   14 class BrowserThread; | 
|   15 class CommandLine; |   15 class CommandLine; | 
|   16 class HighResolutionTimerManager; |   16 class HighResolutionTimerManager; | 
|   17 struct MainFunctionParams; |   17 struct MainFunctionParams; | 
|   18 class MessageLoop; |   18 class MessageLoop; | 
|   19 class MetricsService; |   19 class MetricsService; | 
|   20 class SystemMonitor; |  | 
|   21  |   20  | 
|   22 namespace net { |   21 namespace net { | 
|   23 class NetworkChangeNotifier; |   22 class NetworkChangeNotifier; | 
|   24 } |   23 } | 
|   25  |   24  | 
 |   25 namespace ui { | 
 |   26 class SystemMonitor; | 
 |   27 } | 
 |   28  | 
|   26 // BrowserMainParts: |   29 // BrowserMainParts: | 
|   27 // This class contains different "stages" to be executed in |BrowserMain()|, |   30 // This class contains different "stages" to be executed in |BrowserMain()|, | 
|   28 // mostly initialization. This is made into a class rather than just functions |   31 // mostly initialization. This is made into a class rather than just functions | 
|   29 // so each stage can create and maintain state. Each part is represented by a |   32 // so each stage can create and maintain state. Each part is represented by a | 
|   30 // single method (e.g., "EarlyInitialization()"), which does the following: |   33 // single method (e.g., "EarlyInitialization()"), which does the following: | 
|   31 //  - calls a method (e.g., "PreEarlyInitialization()") which individual |   34 //  - calls a method (e.g., "PreEarlyInitialization()") which individual | 
|   32 //    platforms can override to provide platform-specific code which is to be |   35 //    platforms can override to provide platform-specific code which is to be | 
|   33 //    executed before the common code; |   36 //    executed before the common code; | 
|   34 //  - calls various methods for things common to all platforms (for that given |   37 //  - calls various methods for things common to all platforms (for that given | 
|   35 //    stage); and |   38 //    stage); and | 
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  137   // instance. This MUST be done before main_message_loop, so that it is |  140   // instance. This MUST be done before main_message_loop, so that it is | 
|  138   // destroyed after the main_message_loop. |  141   // destroyed after the main_message_loop. | 
|  139   tracked_objects::AutoTracking tracking_objects_; |  142   tracked_objects::AutoTracking tracking_objects_; | 
|  140 #endif |  143 #endif | 
|  141  |  144  | 
|  142   // Statistical testing infrastructure for the entire browser. |  145   // Statistical testing infrastructure for the entire browser. | 
|  143   base::FieldTrialList field_trial_; |  146   base::FieldTrialList field_trial_; | 
|  144  |  147  | 
|  145   // Members initialized in |MainMessageLoopStart()| --------------------------- |  148   // Members initialized in |MainMessageLoopStart()| --------------------------- | 
|  146   scoped_ptr<MessageLoop> main_message_loop_; |  149   scoped_ptr<MessageLoop> main_message_loop_; | 
|  147   scoped_ptr<SystemMonitor> system_monitor_; |  150   scoped_ptr<ui::SystemMonitor> system_monitor_; | 
|  148   scoped_ptr<HighResolutionTimerManager> hi_res_timer_manager_; |  151   scoped_ptr<HighResolutionTimerManager> hi_res_timer_manager_; | 
|  149   scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_; |  152   scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_; | 
|  150   scoped_ptr<BrowserThread> main_thread_; |  153   scoped_ptr<BrowserThread> main_thread_; | 
|  151  |  154  | 
|  152   DISALLOW_COPY_AND_ASSIGN(BrowserMainParts); |  155   DISALLOW_COPY_AND_ASSIGN(BrowserMainParts); | 
|  153 }; |  156 }; | 
|  154  |  157  | 
|  155  |  158  | 
|  156 // Perform platform-specific work that needs to be done after the main event |  159 // Perform platform-specific work that needs to be done after the main event | 
|  157 // loop has ended. |  160 // loop has ended. | 
|  158 void DidEndMainMessageLoop(); |  161 void DidEndMainMessageLoop(); | 
|  159  |  162  | 
|  160 // Records the conditions that can prevent Breakpad from generating and |  163 // Records the conditions that can prevent Breakpad from generating and | 
|  161 // sending crash reports.  The presence of a Breakpad handler (after |  164 // sending crash reports.  The presence of a Breakpad handler (after | 
|  162 // attempting to initialize crash reporting) and the presence of a debugger |  165 // attempting to initialize crash reporting) and the presence of a debugger | 
|  163 // are registered with the UMA metrics service. |  166 // are registered with the UMA metrics service. | 
|  164 void RecordBreakpadStatusUMA(MetricsService* metrics); |  167 void RecordBreakpadStatusUMA(MetricsService* metrics); | 
|  165  |  168  | 
|  166 // Displays a warning message if some minimum level of OS support is not |  169 // Displays a warning message if some minimum level of OS support is not | 
|  167 // present on the current platform. |  170 // present on the current platform. | 
|  168 void WarnAboutMinimumSystemRequirements(); |  171 void WarnAboutMinimumSystemRequirements(); | 
|  169  |  172  | 
|  170 #endif  // CHROME_BROWSER_BROWSER_MAIN_H_ |  173 #endif  // CHROME_BROWSER_BROWSER_MAIN_H_ | 
| OLD | NEW |