#include "chrome/browser/ui/views/page_action/page_action_icon_view.h"
#include <utility>
#include "chrome/browser/command_updater.h"
#include "chrome/browser/ui/color/chrome_color_id.h"
#include "chrome/browser/ui/omnibox/omnibox_theme.h"
#include "chrome/browser/ui/views/location_bar/icon_label_bubble_view.h"
#include "chrome/browser/ui/views/location_bar/location_bar_bubble_delegate_view.h"
#include "chrome/browser/ui/views/location_bar/location_bar_util.h"
#include "chrome/browser/ui/views/page_action/page_action_icon_loading_indicator_view.h"
#include "chrome/browser/ui/views/page_action/page_action_icon_view_observer.h"
#include "ui/accessibility/ax_enums.mojom.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/models/image_model.h"
#include "ui/events/event.h"
#include "ui/gfx/color_utils.h"
#include "ui/gfx/paint_vector_icon.h"
#include "ui/native_theme/native_theme.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/animation/flood_fill_ink_drop_ripple.h"
#include "ui/views/animation/ink_drop.h"
#include "ui/views/animation/ink_drop_highlight.h"
#include "ui/views/animation/ink_drop_host.h"
#include "ui/views/animation/ink_drop_impl.h"
#include "ui/views/animation/ink_drop_ripple.h"
#include "ui/views/border.h"
#include "ui/views/bubble/bubble_dialog_delegate_view.h"
#include "ui/views/cascading_property.h"
#include "ui/views/controls/button/button_controller.h"
#include "ui/views/controls/focus_ring.h"
#include "ui/views/style/platform_style.h"
float PageActionIconView::Delegate::GetPageActionInkDropVisibleOpacity() const { … }
int PageActionIconView::Delegate::GetPageActionIconSize() const { … }
gfx::Insets PageActionIconView::Delegate::GetPageActionIconInsets(
const PageActionIconView* icon_view) const { … }
bool PageActionIconView::Delegate::ShouldHidePageActionIcons() const { … }
bool PageActionIconView::Delegate::ShouldHidePageActionIcon(
PageActionIconView* icon_view) const { … }
PageActionIconView::PageActionIconView(
CommandUpdater* command_updater,
int command_id,
IconLabelBubbleView::Delegate* parent_delegate,
PageActionIconView::Delegate* delegate,
const char* name_for_histograms,
std::optional<actions::ActionId> action_id,
Browser* browser,
bool ephemeral,
const gfx::FontList& font_list)
: … { … }
PageActionIconView::~PageActionIconView() = default;
void PageActionIconView::AddPageIconViewObserver(
PageActionIconViewObserver* observer) { … }
void PageActionIconView::RemovePageIconViewObserver(
PageActionIconViewObserver* observer) { … }
bool PageActionIconView::IsBubbleShowing() const { … }
bool PageActionIconView::SetCommandEnabled(bool enabled) const { … }
SkColor PageActionIconView::GetLabelColorForTesting() const { … }
void PageActionIconView::ExecuteForTesting() { … }
void PageActionIconView::InstallLoadingIndicatorForTesting() { … }
std::u16string PageActionIconView::GetTextForTooltipAndAccessibleName() const { … }
std::u16string PageActionIconView::GetTooltipText(const gfx::Point& p) const { … }
void PageActionIconView::ViewHierarchyChanged(
const views::ViewHierarchyChangedDetails& details) { … }
void PageActionIconView::OnThemeChanged() { … }
bool PageActionIconView::ShouldShowSeparator() const { … }
void PageActionIconView::NotifyClick(const ui::Event& event) { … }
bool PageActionIconView::IsTriggerableEvent(const ui::Event& event) { … }
bool PageActionIconView::ShouldUpdateInkDropOnClickCanceled() const { … }
void PageActionIconView::ExecuteCommand(ExecuteSource source) { … }
const gfx::VectorIcon& PageActionIconView::GetVectorIconBadge() const { … }
ui::ImageModel PageActionIconView::GetSizedIconImage(int size) const { … }
void PageActionIconView::OnTouchUiChanged() { … }
void PageActionIconView::SetIconColor(SkColor icon_color) { … }
SkColor PageActionIconView::GetIconColor() const { … }
void PageActionIconView::SetActive(bool active) { … }
bool PageActionIconView::GetActive() const { … }
void PageActionIconView::Update() { … }
void PageActionIconView::UpdateIconImage() { … }
void PageActionIconView::SetIsLoading(bool is_loading) { … }
content::WebContents* PageActionIconView::GetWebContents() const { … }
void PageActionIconView::UpdateBorder() { … }
void PageActionIconView::InstallLoadingIndicator() { … }
void PageActionIconView::SetVisible(bool visible) { … }
BEGIN_METADATA(…)