#ifndef IOS_WEB_INIT_WEB_MAIN_RUNNER_IMPL_H_
#define IOS_WEB_INIT_WEB_MAIN_RUNNER_IMPL_H_
#import "base/memory/raw_ptr.h"
#import "ios/web/public/init/web_main_runner.h"
#import "ios/web/public/web_client.h"
namespace web {
class WebClient;
class WebMainLoop;
class WebMainRunnerImpl : public WebMainRunner {
public:
WebMainRunnerImpl();
WebMainRunnerImpl(const WebMainRunnerImpl&) = delete;
WebMainRunnerImpl& operator=(const WebMainRunnerImpl&) = delete;
~WebMainRunnerImpl() override;
void Initialize(WebMainParams params) override;
int Startup() override;
void ShutDown() override;
protected:
bool is_initialized_;
bool is_shutdown_;
bool completed_basic_startup_;
raw_ptr<WebMainDelegate> delegate_;
WebClient empty_web_client_;
std::unique_ptr<WebMainLoop> main_loop_;
};
}
#endif