blob: 20564c7ee18c150d701d2c9a612f9536bbd15756 [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:
18 ChromeBrowserMainPartsLacros(const content::MainFunctionParams& parameters,
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;
Erik Chenca3e37792021-04-08 18:53:2327 void PreProfileInit() override;
Samuel Huangb40fd362021-07-07 18:06:5228 void PostDestroyThreads() override;
James Cookf07ca6602020-12-08 02:49:1729
30 private:
31 std::unique_ptr<MetricsReportingObserver> metrics_reporting_observer_;
Samuel Huang43c5ab92021-08-30 23:39:2232 std::unique_ptr<PrefsAshObserver> prefs_ash_observer_;
James Cook70fee9862020-11-18 17:28:4033};
34
35#endif // CHROME_BROWSER_CHROME_BROWSER_MAIN_PARTS_LACROS_H_