#ifndef CHROME_BROWSER_UI_VIEWS_EXTENSIONS_EXTENSION_POPUP_H_
#define CHROME_BROWSER_UI_VIEWS_EXTENSIONS_EXTENSION_POPUP_H_
#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"
#include "base/scoped_observation.h"
#include "chrome/browser/ui/extensions/extension_popup_types.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/browser/ui/tabs/tab_strip_model_observer.h"
#include "chrome/browser/ui/views/extensions/extension_view_views.h"
#include "content/public/browser/devtools_agent_host_observer.h"
#include "content/public/browser/web_contents_observer.h"
#include "extensions/browser/extension_host.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_registry_observer.h"
#include "ui/base/metadata/metadata_header_macros.h"
#include "ui/views/bubble/bubble_dialog_delegate_view.h"
#include "ui/views/widget/widget_observer.h"
#include "url/gurl.h"
class ExtensionViewViews;
namespace content {
class BrowserContext;
class DevToolsAgentHost;
}
namespace extensions {
class Extension;
class ExtensionViewHost;
enum class UnloadedExtensionReason;
}
class ExtensionPopup : public views::BubbleDialogDelegateView,
public views::WidgetObserver,
public ExtensionViewViews::Container,
public extensions::ExtensionRegistryObserver,
public content::WebContentsObserver,
public TabStripModelObserver,
public content::DevToolsAgentHostObserver { … };
#endif