blob: 7ad94207436a07134f7b97d4dd1f62f1a17cf65d [file] [log] [blame]
Avi Drissman4a8573c2022-09-09 19:35:541// Copyright 2020 The Chromium Authors
James Cook70fee9862020-11-18 17:28:402// 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 Cookf07ca6602020-12-08 02:49:178#include <memory>
9
James Cook70fee9862020-11-18 17:28:4010#include "chrome/browser/chrome_browser_main_linux.h"
11
James Cookf07ca6602020-12-08 02:49:1712class MetricsReportingObserver;
Samuel Huang43c5ab92021-08-30 23:39:2213class PrefsAshObserver;
James Cookf07ca6602020-12-08 02:49:1714
James Cook70fee9862020-11-18 17:28:4015// Startup and shutdown code for Lacros. See ChromeBrowserMainParts for details.
Hidehiko Abe791e0cd2021-10-19 03:49:1416class ChromeBrowserMainPartsLacros : public ChromeBrowserMainPartsLinux {
James Cook70fee9862020-11-18 17:28:4017 public:
Gabriel Charette4c1897a2022-05-02 18:22:2518 ChromeBrowserMainPartsLacros(bool is_integration_test,
James Cook70fee9862020-11-18 17:28:4019 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 Roger1ec365e2022-01-10 15:33:4327 int PreCreateThreads() override;
Fred Shih1bc07aa2022-04-25 21:45:4728 void PostCreateThreads() override;
Erik Chenca3e37792021-04-08 18:53:2329 void PreProfileInit() override;
Samuel Huangb40fd362021-07-07 18:06:5230 void PostDestroyThreads() override;
James Cookf07ca6602020-12-08 02:49:1731
32 private:
33 std::unique_ptr<MetricsReportingObserver> metrics_reporting_observer_;
Samuel Huang43c5ab92021-08-30 23:39:2234 std::unique_ptr<PrefsAshObserver> prefs_ash_observer_;
James Cook70fee9862020-11-18 17:28:4035};
36
37#endif // CHROME_BROWSER_CHROME_BROWSER_MAIN_PARTS_LACROS_H_