// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_WEB_CONTENT_INIT_IOS_BROWSER_MAIN_PARTS_H_
#define IOS_WEB_CONTENT_INIT_IOS_BROWSER_MAIN_PARTS_H_
#import "build/blink_buildflags.h"
#import "content/public/browser/browser_main_parts.h"
#if !BUILDFLAG(USE_BLINK)
#error File can only be included when USE_BLINK is true
#endif
namespace web {
class WebMainParts;
class IOSBrowserMainParts : public content::BrowserMainParts {
public:
IOSBrowserMainParts();
IOSBrowserMainParts(const IOSBrowserMainParts&) = delete;
IOSBrowserMainParts& operator=(const IOSBrowserMainParts&) = delete;
~IOSBrowserMainParts() override;
// BrowserMainParts implementation:
int PreEarlyInitialization() override;
void PostEarlyInitialization() override;
void PreCreateMainMessageLoop() override;
void PostCreateMainMessageLoop() override;
int PreCreateThreads() override;
void PostCreateThreads() override;
int PreMainMessageLoopRun() override;
private:
std::unique_ptr<web::WebMainParts> parts_;
};
} // namespace web
#endif // IOS_WEB_CONTENT_INIT_IOS_BROWSER_MAIN_PARTS_H_