#include "chrome/browser/ui/views/location_bar/content_setting_image_view.h"
#include <cstddef>
#include <optional>
#include <string>
#include <utility>
#include "base/metrics/user_metrics.h"
#include "base/metrics/user_metrics_action.h"
#include "base/strings/utf_string_conversions.h"
#include "base/token.h"
#include "build/build_config.h"
#include "chrome/browser/themes/theme_properties.h"
#include "chrome/browser/ui/content_settings/content_setting_bubble_model.h"
#include "chrome/browser/ui/content_settings/content_setting_image_model.h"
#include "chrome/browser/ui/view_ids.h"
#include "chrome/browser/ui/views/content_setting_bubble_contents.h"
#include "chrome/browser/ui/views/user_education/browser_feature_promo_controller.h"
#include "chrome/grit/generated_resources.h"
#include "components/user_education/common/feature_promo_specification.h"
#include "ui/base/interaction/element_identifier.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/theme_provider.h"
#include "ui/events/event_utils.h"
#include "ui/gfx/color_palette.h"
#include "ui/gfx/color_utils.h"
#include "ui/strings/grit/ui_strings.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/image_view.h"
#include "ui/views/controls/label.h"
#include "ui/views/interaction/element_tracker_views.h"
#include "ui/views/view_class_properties.h"
#include "ui/views/widget/widget.h"
namespace {
std::optional<ViewID> GetViewID(
ContentSettingImageModel::ImageType image_type) { … }
}
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(ContentSettingImageView,
kMediaActivityIndicatorElementId);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(ContentSettingImageView,
kMidiSysexActivityIndicatorElementId);
ContentSettingImageView::ContentSettingImageView(
std::unique_ptr<ContentSettingImageModel> image_model,
IconLabelBubbleView::Delegate* parent_delegate,
Delegate* delegate,
const gfx::FontList& font_list)
: … { … }
ContentSettingImageView::~ContentSettingImageView() = default;
void ContentSettingImageView::Update() { … }
void ContentSettingImageView::SetIconColor(std::optional<SkColor> color) { … }
std::optional<SkColor> ContentSettingImageView::GetIconColor() const { … }
bool ContentSettingImageView::OnMousePressed(const ui::MouseEvent& event) { … }
bool ContentSettingImageView::OnKeyPressed(const ui::KeyEvent& event) { … }
void ContentSettingImageView::OnThemeChanged() { … }
bool ContentSettingImageView::ShouldShowSeparator() const { … }
bool ContentSettingImageView::ShowBubble(const ui::Event& event) { … }
bool ContentSettingImageView::ShowBubbleImpl() { … }
bool ContentSettingImageView::IsBubbleShowing() const { … }
ContentSettingImageModel::ImageType ContentSettingImageView::GetType() const { … }
views::Widget* ContentSettingImageView::GetBubbleWidgetForTesting() const { … }
void ContentSettingImageView::OnWidgetDestroying(views::Widget* widget) { … }
void ContentSettingImageView::UpdateImage() { … }
void ContentSettingImageView::AnimationEnded(const gfx::Animation* animation) { … }
BEGIN_METADATA(…)