| 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 CHROME_BROWSER_CHROME_BROWSER_MAIN_H_ | 5 #ifndef CHROME_BROWSER_CHROME_BROWSER_MAIN_H_ |
| 6 #define CHROME_BROWSER_CHROME_BROWSER_MAIN_H_ | 6 #define CHROME_BROWSER_CHROME_BROWSER_MAIN_H_ |
| 7 | 7 |
| 8 #include <memory> | 8 #include <memory> |
| 9 | 9 |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 } | 95 } |
| 96 const base::FilePath& user_data_dir() const { | 96 const base::FilePath& user_data_dir() const { |
| 97 return user_data_dir_; | 97 return user_data_dir_; |
| 98 } | 98 } |
| 99 | 99 |
| 100 Profile* profile() { return profile_; } | 100 Profile* profile() { return profile_; } |
| 101 | 101 |
| 102 const PrefService* local_state() const { return local_state_; } | 102 const PrefService* local_state() const { return local_state_; } |
| 103 | 103 |
| 104 private: | 104 private: |
| 105 // Methods for |SetupMetricsAndFieldTrials()| -------------------------------- | 105 // Sets up the field trials and related initialization. Call only after |
| 106 // about:flags have been converted to switches. |
| 107 void SetupFieldTrials(); |
| 106 | 108 |
| 107 // Constructs metrics service and does related initialization, including | 109 // Constructs the metrics service and initializes metrics recording. |
| 108 // creation of field trials. Call only after labs have been converted to | 110 void SetupMetrics(); |
| 109 // switches. | |
| 110 void SetupMetricsAndFieldTrials(); | |
| 111 | 111 |
| 112 // Starts recording of metrics. This can only be called after we have a file | 112 // Starts recording of metrics. This can only be called after we have a file |
| 113 // thread. | 113 // thread. |
| 114 void StartMetricsRecording(); | 114 void StartMetricsRecording(); |
| 115 | 115 |
| 116 // Record time from process startup to present time in an UMA histogram. | 116 // Record time from process startup to present time in an UMA histogram. |
| 117 void RecordBrowserStartupTime(); | 117 void RecordBrowserStartupTime(); |
| 118 | 118 |
| 119 // Reads origin trial policy data from local state and configures command line | 119 // Reads origin trial policy data from local state and configures command line |
| 120 // for child processes. | 120 // for child processes. |
| (...skipping 11 matching lines...) Expand all Loading... |
| 132 int result_code_; | 132 int result_code_; |
| 133 | 133 |
| 134 // Create StartupTimeBomb object for watching jank during startup. | 134 // Create StartupTimeBomb object for watching jank during startup. |
| 135 std::unique_ptr<StartupTimeBomb> startup_watcher_; | 135 std::unique_ptr<StartupTimeBomb> startup_watcher_; |
| 136 | 136 |
| 137 // Create ShutdownWatcherHelper object for watching jank during shutdown. | 137 // Create ShutdownWatcherHelper object for watching jank during shutdown. |
| 138 // Please keep |shutdown_watcher| as the first object constructed, and hence | 138 // Please keep |shutdown_watcher| as the first object constructed, and hence |
| 139 // it is destroyed last. | 139 // it is destroyed last. |
| 140 std::unique_ptr<ShutdownWatcherHelper> shutdown_watcher_; | 140 std::unique_ptr<ShutdownWatcherHelper> shutdown_watcher_; |
| 141 | 141 |
| 142 // Statistical testing infrastructure for the entire browser. NULL until | 142 // Statistical testing infrastructure for the entire browser. nullptr until |
| 143 // SetupMetricsAndFieldTrials is called. | 143 // |SetupFieldTrials()| is called. |
| 144 std::unique_ptr<base::FieldTrialList> field_trial_list_; | 144 std::unique_ptr<base::FieldTrialList> field_trial_list_; |
| 145 | 145 |
| 146 ChromeBrowserFieldTrials browser_field_trials_; | 146 ChromeBrowserFieldTrials browser_field_trials_; |
| 147 | 147 |
| 148 #if !defined(OS_ANDROID) && !defined(OS_IOS) | 148 #if !defined(OS_ANDROID) && !defined(OS_IOS) |
| 149 // A monitor for attributing power consumption to origins. | 149 // A monitor for attributing power consumption to origins. |
| 150 std::unique_ptr<ProcessPowerCollector> process_power_collector_; | 150 std::unique_ptr<ProcessPowerCollector> process_power_collector_; |
| 151 | 151 |
| 152 std::unique_ptr<WebUsbDetector> web_usb_detector_; | 152 std::unique_ptr<WebUsbDetector> web_usb_detector_; |
| 153 #endif | 153 #endif |
| (...skipping 29 matching lines...) Expand all Loading... |
| 183 ProcessSingleton::PROCESS_NONE; | 183 ProcessSingleton::PROCESS_NONE; |
| 184 | 184 |
| 185 // Members needed across shutdown methods. | 185 // Members needed across shutdown methods. |
| 186 bool restart_last_session_ = false; | 186 bool restart_last_session_ = false; |
| 187 #endif | 187 #endif |
| 188 | 188 |
| 189 Profile* profile_; | 189 Profile* profile_; |
| 190 bool run_message_loop_; | 190 bool run_message_loop_; |
| 191 std::unique_ptr<ThreeDAPIObserver> three_d_observer_; | 191 std::unique_ptr<ThreeDAPIObserver> three_d_observer_; |
| 192 | 192 |
| 193 // Initialized in SetupMetricsAndFieldTrials. | 193 // Initialized in |SetupFieldTrials()|. |
| 194 scoped_refptr<FieldTrialSynchronizer> field_trial_synchronizer_; | 194 scoped_refptr<FieldTrialSynchronizer> field_trial_synchronizer_; |
| 195 | 195 |
| 196 // Members initialized in PreMainMessageLoopRun, needed in | 196 // Members initialized in PreMainMessageLoopRun, needed in |
| 197 // PreMainMessageLoopRunThreadsCreated. | 197 // PreMainMessageLoopRunThreadsCreated. |
| 198 PrefService* local_state_; | 198 PrefService* local_state_; |
| 199 base::FilePath user_data_dir_; | 199 base::FilePath user_data_dir_; |
| 200 | 200 |
| 201 DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainParts); | 201 DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainParts); |
| 202 }; | 202 }; |
| 203 | 203 |
| 204 #endif // CHROME_BROWSER_CHROME_BROWSER_MAIN_H_ | 204 #endif // CHROME_BROWSER_CHROME_BROWSER_MAIN_H_ |
| OLD | NEW |