#include "chrome/browser/ui/views/location_bar/cookie_controls/cookie_controls_icon_view.h"
#include <memory>
#include <optional>
#include "base/check_is_test.h"
#include "base/metrics/user_metrics.h"
#include "chrome/browser/content_settings/cookie_settings_factory.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
#include "chrome/browser/privacy_sandbox/tracking_protection_settings_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser_element_identifiers.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/grit/generated_resources.h"
#include "components/content_settings/browser/ui/cookie_controls_controller.h"
#include "components/content_settings/core/common/cookie_blocking_3pcd_status.h"
#include "components/feature_engagement/public/event_constants.h"
#include "components/omnibox/browser/vector_icons.h"
#include "components/privacy_sandbox/tracking_protection_settings.h"
#include "content/public/browser/web_contents.h"
#include "cookie_controls_bubble_coordinator.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/gfx/paint_vector_icon.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/vector_icons.h"
#include "ui/views/view_class_properties.h"
namespace {
void RecordOpenedAction(bool icon_visible, bool protections_on) { … }
}
CookieControlsIconView::CookieControlsIconView(
Browser* browser,
IconLabelBubbleView::Delegate* icon_label_bubble_delegate,
PageActionIconView::Delegate* page_action_icon_delegate)
: … { … }
CookieControlsIconView::~CookieControlsIconView() = default;
CookieControlsBubbleCoordinator*
CookieControlsIconView::GetCoordinatorForTesting() const { … }
void CookieControlsIconView::SetCoordinatorForTesting(
std::unique_ptr<CookieControlsBubbleCoordinator> coordinator) { … }
void CookieControlsIconView::DisableUpdatesForTesting() { … }
void CookieControlsIconView::UpdateImpl() { … }
bool CookieControlsIconView::MaybeShowIPH() { … }
bool CookieControlsIconView::IsManagedIPHActive() const { … }
void CookieControlsIconView::OnIPHClosed() { … }
void CookieControlsIconView::SetLabelAndTooltip() { … }
int CookieControlsIconView::GetLabelForStatus() const { … }
void CookieControlsIconView::OnCookieControlsIconStatusChanged(
bool icon_visible,
bool protections_on,
CookieBlocking3pcdStatus blocking_status,
bool should_highlight) { … }
bool CookieControlsIconView::MaybeAnimateIcon() { … }
void CookieControlsIconView::UpdateIcon() { … }
void CookieControlsIconView::OnFinishedPageReloadWithChangedSettings() { … }
bool CookieControlsIconView::ShouldBeVisible() const { … }
bool CookieControlsIconView::GetAssociatedBubble() const { … }
void CookieControlsIconView::ShowCookieControlsBubble() { … }
void CookieControlsIconView::OnExecuting(
PageActionIconView::ExecuteSource source) { … }
views::BubbleDialogDelegate* CookieControlsIconView::GetBubble() const { … }
const gfx::VectorIcon& CookieControlsIconView::GetVectorIcon() const { … }
void CookieControlsIconView::UpdateTooltipForFocus() { … }
BEGIN_METADATA(…)