#ifndef CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_FRAME_H_
#define CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_FRAME_H_
#include "base/memory/raw_ptr.h"
#include "build/build_config.h"
#include "content/public/browser/keyboard_event_processing_result.h"
#include "ui/base/pointer/touch_ui_controller.h"
#include "ui/base/ui_base_types.h"
#include "ui/views/context_menu_controller.h"
#include "ui/views/widget/widget.h"
#if BUILDFLAG(IS_CHROMEOS)
#include <optional>
#endif
class BrowserNonClientFrameView;
class BrowserRootView;
enum class BrowserThemeChangeType;
class BrowserView;
class NativeBrowserFrame;
class SystemMenuModelBuilder;
namespace input {
struct NativeWebKeyboardEvent;
}
namespace gfx {
class Rect;
}
namespace ui {
class MenuModel;
}
namespace views {
class Label;
class MenuRunner;
class NonClientFrameView;
class View;
}
enum class TabDragKind { … };
class BrowserFrame : public views::Widget, public views::ContextMenuController { … };
#endif