#include "chrome/browser/ui/views/location_bar/cookie_controls/cookie_controls_content_view.h"
#include "chrome/app/vector_icons/vector_icons.h"
#include "chrome/browser/ui/layout_constants.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/browser/ui/views/controls/rich_controls_container_view.h"
#include "chrome/browser/ui/views/controls/rich_hover_button.h"
#include "chrome/browser/ui/views/controls/text_with_controls_view.h"
#include "chrome/grit/generated_resources.h"
#include "components/content_settings/browser/ui/cookie_controls_util.h"
#include "components/content_settings/core/common/cookie_controls_enforcement.h"
#include "components/content_settings/core/common/features.h"
#include "components/content_settings/core/common/tracking_protection_feature.h"
#include "components/privacy_sandbox/privacy_sandbox_features.h"
#include "components/strings/grit/privacy_sandbox_strings.h"
#include "components/vector_icons/vector_icons.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/ui_base_features.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/controls/button/toggle_button.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/controls/label.h"
#include "ui/views/controls/separator.h"
#include "ui/views/layout/box_layout.h"
#include "ui/views/vector_icons.h"
#include "ui/views/view.h"
#include "ui/views/view_class_properties.h"
namespace {
FeatureType;
Util;
constexpr int kMaxBubbleWidth = …;
int GetDefaultIconSize() { … }
std::unique_ptr<views::View> CreateSeparator(bool padded) { … }
std::unique_ptr<views::View> CreateFullWidthSeparator() { … }
std::unique_ptr<views::View> CreatePaddedSeparator() { … }
const gfx::VectorIcon& GetFeatureIcon(
content_settings::TrackingProtectionFeatureType feature_type,
bool enabled) { … }
std::u16string GetFeatureLabel(
content_settings::TrackingProtectionFeatureType feature_type) { … }
std::u16string GetStatusString(
content_settings::TrackingProtectionBlockingStatus status) { … }
std::u16string GetManagedSectionTitle(CookieControlsEnforcement enforcement) { … }
}
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(CookieControlsContentView, kTitle);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(CookieControlsContentView, kDescription);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(CookieControlsContentView, kToggleButton);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(CookieControlsContentView, kToggleLabel);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(CookieControlsContentView,
kThirdPartyCookiesLabel);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(CookieControlsContentView,
kFeedbackButton);
CookieControlsContentView::CookieControlsContentView(bool has_act_features)
: … { … }
void CookieControlsContentView::AddContentLabels() { … }
void CookieControlsContentView::SetToggleIsOn(bool is_on) { … }
void CookieControlsContentView::SetToggleIcon(const gfx::VectorIcon& icon) { … }
void CookieControlsContentView::SetToggleVisible(bool visible) { … }
void CookieControlsContentView::SetCookiesLabel(const std::u16string& label) { … }
void CookieControlsContentView::SetEnforcedIcon(const gfx::VectorIcon& icon,
const std::u16string& tooltip) { … }
void CookieControlsContentView::SetEnforcedIconVisible(bool visible) { … }
void CookieControlsContentView::SetFeedbackSectionVisibility(bool visible) { … }
void CookieControlsContentView::AddDescriptionRow() { … }
const ui::ElementIdentifier CookieControlsContentView::GetFeatureIdentifier(
content_settings::TrackingProtectionFeatureType feature_type) { … }
void CookieControlsContentView::AddFeatureRow(
content_settings::TrackingProtectionFeature feature,
bool protections_on) { … }
void CookieControlsContentView::AddToggleRow() { … }
void CookieControlsContentView::SetManagedSeparatorVisible(bool visible) { … }
void CookieControlsContentView::SetManagedSectionVisible(bool visible) { … }
void CookieControlsContentView::AddManagedSectionForEnforcement(
CookieControlsEnforcement enforcement) { … }
void CookieControlsContentView::AddFeedbackSection() { … }
void CookieControlsContentView::UpdateContentLabels(
const std::u16string& title,
const std::u16string& description) { … }
void CookieControlsContentView::SetContentLabelsVisible(bool visible) { … }
CookieControlsContentView::~CookieControlsContentView() = default;
void CookieControlsContentView::PreferredSizeChanged() { … }
gfx::Size CookieControlsContentView::CalculatePreferredSize(
const views::SizeBounds& available_size) const { … }
base::CallbackListSubscription
CookieControlsContentView::RegisterToggleButtonPressedCallback(
base::RepeatingCallback<void(bool)> callback) { … }
base::CallbackListSubscription
CookieControlsContentView::RegisterFeedbackButtonPressedCallback(
base::RepeatingClosureList::CallbackType callback) { … }
void CookieControlsContentView::NotifyToggleButtonPressedCallback() { … }
void CookieControlsContentView::NotifyFeedbackButtonPressedCallback() { … }
BEGIN_METADATA(…)