// 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.
#include "ios/web/content/init/ios_main_delegate.h"
#include "content/public/renderer/content_renderer_client.h"
#include "ios/web/content/init/ios_content_browser_client.h"
#include "ios/web/content/init/ios_content_client.h"
#include "ios/web/content/init/ios_content_renderer_client.h"
namespace web {
IOSMainDelegate::IOSMainDelegate() {}
IOSMainDelegate::~IOSMainDelegate() {}
content::ContentClient* IOSMainDelegate::CreateContentClient() {
content_client_ = std::make_unique<IOSContentClient>();
return content_client_.get();
}
content::ContentBrowserClient* IOSMainDelegate::CreateContentBrowserClient() {
browser_client_ = std::make_unique<IOSContentBrowserClient>();
return browser_client_.get();
}
content::ContentRendererClient* IOSMainDelegate::CreateContentRendererClient() {
renderer_client_ = std::make_unique<IOSContentRendererClient>();
return renderer_client_.get();
}
absl::variant<int, content::MainFunctionParams> IOSMainDelegate::RunProcess(
const std::string& process_type,
content::MainFunctionParams main_function_params) {
CHECK_EQ(process_type, "");
browser_runner_ = content::BrowserMainRunner::Create();
int exit_code = browser_runner_->Initialize(std::move(main_function_params));
if (exit_code > 0) {
return exit_code;
}
return 0;
}
} // namespace web