#ifndef CHROME_BROWSER_UI_WEBUI_ABOUT_ABOUT_UI_H_
#define CHROME_BROWSER_UI_WEBUI_ABOUT_ABOUT_UI_H_
#include <memory>
#include <string>
#include <string_view>
#include "base/memory/raw_ptr.h"
#include "build/build_config.h"
#include "content/public/browser/url_data_source.h"
#include "content/public/browser/web_ui_controller.h"
#include "content/public/browser/webui_config.h"
class AboutUI;
class Profile;
namespace content {
class WebUI;
}
class AboutUIConfigBase : public content::DefaultWebUIConfig<AboutUI> { … };
class ChromeURLsUIConfig : public AboutUIConfigBase { … };
class CreditsUIConfig : public AboutUIConfigBase { … };
#if !BUILDFLAG(IS_ANDROID)
class TermsUIConfig : public AboutUIConfigBase { … };
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD)
class LinuxProxyConfigUI : public AboutUIConfigBase { … };
#endif
#if BUILDFLAG(IS_CHROMEOS_ASH)
class OSCreditsUI : public AboutUIConfigBase {
public:
OSCreditsUI();
};
class BorealisCreditsUI : public AboutUIConfigBase {
public:
BorealisCreditsUI();
};
class CrostiniCreditsUI : public AboutUIConfigBase {
public:
CrostiniCreditsUI();
};
#endif
class AboutUIHTMLSource : public content::URLDataSource { … };
class AboutUI : public content::WebUIController { … };
namespace about_ui {
void AppendHeader(std::string* output, const std::string& unescaped_title);
void AppendBody(std::string *output);
void AppendFooter(std::string *output);
}
#endif