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 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 StackSamplingConfiguration sampling_profiler_config_; | 159 StackSamplingConfiguration sampling_profiler_config_; |
160 | 160 |
161 // A profiler that periodically samples stack traces. Used to sample startup | 161 // A profiler that periodically samples stack traces. Used to sample startup |
162 // behavior. | 162 // behavior. |
163 base::StackSamplingProfiler sampling_profiler_; | 163 base::StackSamplingProfiler sampling_profiler_; |
164 | 164 |
165 // Members initialized after / released before main_message_loop_ ------------ | 165 // Members initialized after / released before main_message_loop_ ------------ |
166 | 166 |
167 std::unique_ptr<BrowserProcessImpl> browser_process_; | 167 std::unique_ptr<BrowserProcessImpl> browser_process_; |
168 scoped_refptr<metrics::TrackingSynchronizer> tracking_synchronizer_; | 168 scoped_refptr<metrics::TrackingSynchronizer> tracking_synchronizer_; |
| 169 |
169 #if !defined(OS_ANDROID) | 170 #if !defined(OS_ANDROID) |
170 // Browser creation happens on the Java side in Android. | 171 // Browser creation happens on the Java side in Android. |
171 std::unique_ptr<StartupBrowserCreator> browser_creator_; | 172 std::unique_ptr<StartupBrowserCreator> browser_creator_; |
172 | 173 |
173 // Android doesn't support multiple browser processes, so it doesn't implement | 174 // Android doesn't support multiple browser processes, so it doesn't implement |
174 // ProcessSingleton. | 175 // ProcessSingleton. |
175 std::unique_ptr<ChromeProcessSingleton> process_singleton_; | 176 std::unique_ptr<ChromeProcessSingleton> process_singleton_; |
176 | 177 |
177 // Android's first run is done in Java instead of native. | 178 // Android's first run is done in Java instead of native. |
178 std::unique_ptr<first_run::MasterPrefs> master_prefs_; | 179 std::unique_ptr<first_run::MasterPrefs> master_prefs_; |
| 180 |
| 181 ProcessSingleton::NotifyResult notify_result_ = |
| 182 ProcessSingleton::PROCESS_NONE; |
| 183 |
| 184 // Members needed across shutdown methods. |
| 185 bool restart_last_session_ = false; |
179 #endif | 186 #endif |
| 187 |
180 Profile* profile_; | 188 Profile* profile_; |
181 bool run_message_loop_; | 189 bool run_message_loop_; |
182 ProcessSingleton::NotifyResult notify_result_; | |
183 std::unique_ptr<ThreeDAPIObserver> three_d_observer_; | 190 std::unique_ptr<ThreeDAPIObserver> three_d_observer_; |
184 | 191 |
185 // Initialized in SetupMetricsAndFieldTrials. | 192 // Initialized in SetupMetricsAndFieldTrials. |
186 scoped_refptr<FieldTrialSynchronizer> field_trial_synchronizer_; | 193 scoped_refptr<FieldTrialSynchronizer> field_trial_synchronizer_; |
187 | 194 |
188 // Members initialized in PreMainMessageLoopRun, needed in | 195 // Members initialized in PreMainMessageLoopRun, needed in |
189 // PreMainMessageLoopRunThreadsCreated. | 196 // PreMainMessageLoopRunThreadsCreated. |
190 PrefService* local_state_; | 197 PrefService* local_state_; |
191 base::FilePath user_data_dir_; | 198 base::FilePath user_data_dir_; |
192 | 199 |
193 // Members needed across shutdown methods. | |
194 bool restart_last_session_; | |
195 | |
196 DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainParts); | 200 DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainParts); |
197 }; | 201 }; |
198 | 202 |
199 #endif // CHROME_BROWSER_CHROME_BROWSER_MAIN_H_ | 203 #endif // CHROME_BROWSER_CHROME_BROWSER_MAIN_H_ |
OLD | NEW |