#ifndef CHROME_BROWSER_UI_WEB_APPLICATIONS_APP_BROWSER_CONTROLLER_H_
#define CHROME_BROWSER_UI_WEB_APPLICATIONS_APP_BROWSER_CONTROLLER_H_
#include <memory>
#include <optional>
#include <string>
#include "base/functional/callback_forward.h"
#include "base/memory/raw_ptr.h"
#include "chrome/browser/themes/theme_service.h"
#include "chrome/browser/ui/page_action/page_action_icon_type.h"
#include "chrome/browser/ui/tabs/tab_strip_model_observer.h"
#include "components/url_formatter/url_formatter.h"
#include "components/webapps/browser/installable/installable_metrics.h"
#include "components/webapps/common/web_app_id.h"
#include "content/public/browser/web_contents_observer.h"
#include "third_party/blink/public/mojom/page/draggable_region.mojom-forward.h"
#include "third_party/skia/include/core/SkColor.h"
#include "third_party/skia/include/core/SkRegion.h"
#include "ui/color/color_provider.h"
#include "ui/color/color_provider_key.h"
#include "url/gurl.h"
class Browser;
class BrowserThemePack;
class CustomThemeSupplier;
class TabMenuModelFactory;
#if BUILDFLAG(IS_CHROMEOS_ASH)
namespace ash {
class SystemWebAppDelegate;
}
#endif
namespace gfx {
class Rect;
}
namespace ui {
class ImageModel;
}
namespace web_app {
class WebAppBrowserController;
bool IsSameHostAndPort(const GURL& app_url, const GURL& page_url);
class AppBrowserController : public ui::ColorProviderKey::InitializerSupplier,
public TabStripModelObserver,
public content::WebContentsObserver,
public BrowserThemeProviderDelegate { … };
}
#endif