#include "chrome/browser/ui/views/page_info/page_info_main_view.h"
#include <optional>
#include "base/feature_list.h"
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/lookalikes/safety_tip_ui_helper.h"
#include "chrome/browser/page_info/page_info_features.h"
#include "chrome/browser/ui/layout_constants.h"
#include "chrome/browser/ui/page_info/chrome_page_info_ui_delegate.h"
#include "chrome/browser/ui/ui_features.h"
#include "chrome/browser/ui/views/accessibility/non_accessible_image_view.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/browser/ui/views/chrome_typography.h"
#include "chrome/browser/ui/views/controls/rich_hover_button.h"
#include "chrome/browser/ui/views/page_info/chosen_object_view.h"
#include "chrome/browser/ui/views/page_info/page_info_history_controller.h"
#include "chrome/browser/ui/views/page_info/page_info_navigation_handler.h"
#include "chrome/browser/ui/views/page_info/page_info_security_content_view.h"
#include "chrome/browser/ui/views/page_info/page_info_view_factory.h"
#include "chrome/browser/ui/views/page_info/permission_toggle_row_view.h"
#include "chrome/browser/vr/vr_tab_helper.h"
#include "chrome/common/url_constants.h"
#include "components/content_settings/core/common/cookie_blocking_3pcd_status.h"
#include "components/page_info/core/about_this_site_service.h"
#include "components/page_info/core/features.h"
#include "components/page_info/page_info_ui_delegate.h"
#include "components/permissions/permission_util.h"
#include "components/privacy_sandbox/privacy_sandbox_features.h"
#include "components/strings/grit/components_branded_strings.h"
#include "components/strings/grit/components_strings.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.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/base/ui_base_features.h"
#include "ui/compositor/layer.h"
#include "ui/views/background.h"
#include "ui/views/bubble/bubble_frame_view.h"
#include "ui/views/controls/button/md_text_button.h"
#include "ui/views/controls/label.h"
#include "ui/views/controls/scroll_view.h"
#include "ui/views/controls/separator.h"
#include "ui/views/layout/box_layout.h"
#include "ui/views/layout/flex_layout.h"
#include "ui/views/view_class_properties.h"
#if BUILDFLAG(FULL_SAFE_BROWSING)
#include "chrome/browser/safe_browsing/chrome_password_protection_service.h"
#endif
namespace {
constexpr int kMinPermissionRowHeight = …;
constexpr float kMaxPermissionRowCount = …;
enum class AboutThisSiteSeconaryIcon { … };
}
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(PageInfoMainView, kCookieButtonElementId);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(PageInfoMainView, kMainLayoutElementId);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(PageInfoMainView, kPermissionsElementId);
PageInfoMainView::ContainerView::ContainerView() { … }
void PageInfoMainView::ContainerView::Update() { … }
BEGIN_METADATA(…)
END_METADATA
PageInfoMainView::PageInfoMainView(
PageInfo* presenter,
ChromePageInfoUiDelegate* ui_delegate,
PageInfoNavigationHandler* navigation_handler,
PageInfoHistoryController* history_controller,
base::OnceClosure initialized_callback)
: … { … }
PageInfoMainView::~PageInfoMainView() = default;
void PageInfoMainView::SetCookieInfo(const CookiesNewInfo& cookie_info) { … }
void PageInfoMainView::SetPermissionInfo(
const PermissionInfoList& permission_info_list,
ChosenObjectInfoList chosen_object_info_list) { … }
void PageInfoMainView::UpdateResetButton(
const PermissionInfoList& permission_info_list) { … }
void PageInfoMainView::SetIdentityInfo(const IdentityInfo& identity_info) { … }
void PageInfoMainView::SetPageFeatureInfo(const PageFeatureInfo& info) { … }
void PageInfoMainView::SetAdPersonalizationInfo(
const AdPersonalizationInfo& info) { … }
void PageInfoMainView::OnPermissionChanged(
const PageInfo::PermissionInfo& permission) { … }
void PageInfoMainView::OnChosenObjectDeleted(
const PageInfoUI::ChosenObjectInfo& info) { … }
std::unique_ptr<views::View> PageInfoMainView::CreateContainerView() { … }
void PageInfoMainView::HandleMoreInfoRequest(views::View* source) { … }
void PageInfoMainView::HandleMoreInfoRequestAsync(int view_id) { … }
gfx::Size PageInfoMainView::CalculatePreferredSize(
const views::SizeBounds& available_size) const { … }
void PageInfoMainView::ChildPreferredSizeChanged(views::View* child) { … }
std::unique_ptr<views::View> PageInfoMainView::CreateBubbleHeaderView() { … }
std::unique_ptr<views::View> PageInfoMainView::CreateAboutThisSiteSection(
const page_info::proto::SiteInfo& info) { … }
std::unique_ptr<views::View>
PageInfoMainView::CreateAdPersonalizationSection() { … }
BEGIN_METADATA(…)