Avi Drissman | 4a8573c | 2022-09-09 19:35:54 | [diff] [blame] | 1 | // Copyright 2020 The Chromium Authors |
James Cook | 70fee986 | 2020-11-18 17:28:40 | [diff] [blame] | 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
| 5 | #ifndef CHROME_BROWSER_CHROME_BROWSER_MAIN_PARTS_LACROS_H_ |
| 6 | #define CHROME_BROWSER_CHROME_BROWSER_MAIN_PARTS_LACROS_H_ |
| 7 | |
James Cook | f07ca660 | 2020-12-08 02:49:17 | [diff] [blame] | 8 | #include <memory> |
| 9 | |
James Cook | 70fee986 | 2020-11-18 17:28:40 | [diff] [blame] | 10 | #include "chrome/browser/chrome_browser_main_linux.h" |
| 11 | |
James Cook | f07ca660 | 2020-12-08 02:49:17 | [diff] [blame] | 12 | class MetricsReportingObserver; |
Samuel Huang | 43c5ab9 | 2021-08-30 23:39:22 | [diff] [blame] | 13 | class PrefsAshObserver; |
James Cook | f07ca660 | 2020-12-08 02:49:17 | [diff] [blame] | 14 | |
James Cook | 70fee986 | 2020-11-18 17:28:40 | [diff] [blame] | 15 | // Startup and shutdown code for Lacros. See ChromeBrowserMainParts for details. |
Hidehiko Abe | 791e0cd | 2021-10-19 03:49:14 | [diff] [blame] | 16 | class ChromeBrowserMainPartsLacros : public ChromeBrowserMainPartsLinux { |
James Cook | 70fee986 | 2020-11-18 17:28:40 | [diff] [blame] | 17 | public: |
Gabriel Charette | 4c1897a | 2022-05-02 18:22:25 | [diff] [blame] | 18 | ChromeBrowserMainPartsLacros(bool is_integration_test, |
James Cook | 70fee986 | 2020-11-18 17:28:40 | [diff] [blame] | 19 | StartupData* startup_data); |
| 20 | ChromeBrowserMainPartsLacros(const ChromeBrowserMainPartsLacros&) = delete; |
| 21 | ChromeBrowserMainPartsLacros& operator=(const ChromeBrowserMainPartsLacros&) = |
| 22 | delete; |
| 23 | ~ChromeBrowserMainPartsLacros() override; |
| 24 | |
| 25 | // ChromeBrowserMainParts: |
| 26 | int PreEarlyInitialization() override; |
David Roger | 1ec365e | 2022-01-10 15:33:43 | [diff] [blame] | 27 | int PreCreateThreads() override; |
Fred Shih | 1bc07aa | 2022-04-25 21:45:47 | [diff] [blame] | 28 | void PostCreateThreads() override; |
Erik Chen | ca3e3779 | 2021-04-08 18:53:23 | [diff] [blame] | 29 | void PreProfileInit() override; |
Samuel Huang | b40fd36 | 2021-07-07 18:06:52 | [diff] [blame] | 30 | void PostDestroyThreads() override; |
James Cook | f07ca660 | 2020-12-08 02:49:17 | [diff] [blame] | 31 | |
| 32 | private: |
| 33 | std::unique_ptr<MetricsReportingObserver> metrics_reporting_observer_; |
Samuel Huang | 43c5ab9 | 2021-08-30 23:39:22 | [diff] [blame] | 34 | std::unique_ptr<PrefsAshObserver> prefs_ash_observer_; |
James Cook | 70fee986 | 2020-11-18 17:28:40 | [diff] [blame] | 35 | }; |
| 36 | |
| 37 | #endif // CHROME_BROWSER_CHROME_BROWSER_MAIN_PARTS_LACROS_H_ |