#include "chrome/browser/ui/views/enterprise/managed_menu_view.h"
#include <algorithm>
#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 "build/build_config.h"
#include "chrome/app/vector_icons/vector_icons.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/enterprise/browser_management/management_service_factory.h"
#include "chrome/browser/enterprise/util/managed_browser_utils.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_avatar_icon_util.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/chrome_pages.h"
#include "chrome/browser/ui/managed_ui.h"
#include "chrome/browser/ui/profiles/profile_view_utils.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/browser/ui/views/controls/hover_button.h"
#include "chrome/common/pref_names.h"
#include "chrome/grit/branded_strings.h"
#include "components/policy/core/common/management/management_service.h"
#include "components/prefs/pref_service.h"
#include "components/strings/grit/components_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/models/image_model.h"
#include "ui/base/mojom/dialog_button.mojom.h"
#include "ui/display/screen.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/controls/scroll_view.h"
#include "ui/views/controls/separator.h"
#include "ui/views/controls/styled_label.h"
#include "ui/views/layout/fill_layout.h"
#include "ui/views/layout/flex_layout.h"
#include "ui/views/layout/table_layout.h"
#include "ui/views/style/typography.h"
namespace {
constexpr int kMenuIconSize = …;
constexpr int kWindowIconSize = …;
constexpr int kContentWidth = …;
constexpr int kContentGap = …;
constexpr int kContentMargin = …;
void AddDisclaimerSection(views::View* parent,
const ui::ImageModel& icon,
const std::u16string& text,
int bottom_margin = 0) { … }
}
ManagedMenuView::ManagedMenuView(views::Button* anchor_button, Browser* browser)
: … { … }
ManagedMenuView::~ManagedMenuView() = default;
void ManagedMenuView::Init() { … }
Profile* ManagedMenuView::GetProfile() const { … }
void ManagedMenuView::OpenManagementPage() { … }
void ManagedMenuView::UpdateProfileManagementIcon() { … }
void ManagedMenuView::UpdateBrowserManagementIcon() { … }
void ManagedMenuView::SetProfileManagementIcon(const gfx::Image& icon) { … }
void ManagedMenuView::SetBrowserManagementIcon(const gfx::Image& icon) { … }
int ManagedMenuView::GetMaxHeight() const { … }
void ManagedMenuView::RebuildView() { … }
void ManagedMenuView::BuildView() { … }
std::u16string ManagedMenuView::GetAccessibleWindowTitle() const { … }
void ManagedMenuView::OnThemeChanged() { … }
const std::u16string& ManagedMenuView::profile_management_label() const { … }
const std::u16string& ManagedMenuView::browser_management_label() const { … }
const views::Label* ManagedMenuView::inline_management_title() const { … }
void ManagedMenuView::BuildInfoContainerBackground(
const ui::ColorProvider* color_provider) { … }
BEGIN_METADATA(…)