blob: 0b7fbdca6772ca3e6eb70930e02cba7450c3fc1a [file] [log] [blame]
James Cook70fee9862020-11-18 17:28:401// Copyright 2020 The Chromium Authors. All rights reserved.
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 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 Charettefbeeb1c2021-11-10 20:50:0618 ChromeBrowserMainPartsLacros(content::MainFunctionParams parameters,
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_