#include "chrome/browser/ui/views/toolbar/toolbar_action_view.h"
#include <string>
#include "base/auto_reset.h"
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/metrics/user_metrics.h"
#include "base/metrics/user_metrics_action.h"
#include "chrome/browser/extensions/extension_context_menu_model.h"
#include "chrome/browser/themes/theme_properties.h"
#include "chrome/browser/ui/layout_constants.h"
#include "chrome/browser/ui/toolbar/toolbar_action_view_controller.h"
#include "chrome/browser/ui/view_ids.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/browser/ui/views/extensions/extension_context_menu_controller.h"
#include "chrome/browser/ui/views/toolbar/toolbar_button.h"
#include "chrome/browser/ui/views/toolbar/toolbar_icon_container_view.h"
#include "chrome/browser/ui/views/toolbar/toolbar_ink_drop_util.h"
#include "components/sessions/content/session_tab_helper.h"
#include "content/public/browser/browser_context.h"
#include "extensions/common/extension_features.h"
#include "ui/accessibility/ax_node_data.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/models/image_model.h"
#include "ui/base/models/image_model_utils.h"
#include "ui/base/resource/resource_bundle.h"
#include "ui/base/theme_provider.h"
#include "ui/compositor/paint_recorder.h"
#include "ui/events/event.h"
#include "ui/gfx/color_palette.h"
#include "ui/gfx/image/image_skia.h"
#include "ui/native_theme/native_theme.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/animation/ink_drop.h"
#include "ui/views/animation/ink_drop_impl.h"
#include "ui/views/controls/button/button.h"
#include "ui/views/controls/button/label_button_border.h"
#include "ui/views/controls/menu/menu_controller.h"
#include "ui/views/controls/menu/menu_model_adapter.h"
#include "ui/views/controls/menu/menu_runner.h"
#include "ui/views/mouse_constants.h"
LabelButtonBorder;
ToolbarActionView::ToolbarActionView(
ToolbarActionViewController* view_controller,
ToolbarActionView::Delegate* delegate)
: … { … }
ToolbarActionView::~ToolbarActionView() { … }
gfx::Rect ToolbarActionView::GetAnchorBoundsInScreen() const { … }
std::unique_ptr<LabelButtonBorder> ToolbarActionView::CreateDefaultBorder()
const { … }
bool ToolbarActionView::IsTriggerableEvent(const ui::Event& event) { … }
bool ToolbarActionView::OnKeyPressed(const ui::KeyEvent& event) { … }
void ToolbarActionView::OnMouseMoved(const ui::MouseEvent& event) { … }
void ToolbarActionView::OnMouseEntered(const ui::MouseEvent& event) { … }
void ToolbarActionView::MaybeUpdateHoverCardStatus(
const ui::MouseEvent& event) { … }
content::WebContents* ToolbarActionView::GetCurrentWebContents() const { … }
void ToolbarActionView::UpdateState() { … }
gfx::ImageSkia ToolbarActionView::GetIconForTest() { … }
int ToolbarActionView::GetDragOperationsForTest(const gfx::Point& point) { … }
gfx::Size ToolbarActionView::CalculatePreferredSize(
const views::SizeBounds& available_size) const { … }
bool ToolbarActionView::OnMousePressed(const ui::MouseEvent& event) { … }
void ToolbarActionView::OnMouseReleased(const ui::MouseEvent& event) { … }
void ToolbarActionView::OnGestureEvent(ui::GestureEvent* event) { … }
void ToolbarActionView::OnDragDone() { … }
void ToolbarActionView::AddedToWidget() { … }
void ToolbarActionView::RemovedFromWidget() { … }
views::FocusManager* ToolbarActionView::GetFocusManagerForAccelerator() { … }
views::Button* ToolbarActionView::GetReferenceButtonForPopup() { … }
void ToolbarActionView::ShowContextMenuAsFallback() { … }
void ToolbarActionView::OnPopupShown(bool by_user) { … }
void ToolbarActionView::OnPopupClosed() { … }
void ToolbarActionView::ButtonPressed() { … }
BEGIN_METADATA(…)