chromium/chrome/browser/ui/views/enterprise/management_toolbar_button.cc

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/ui/views/enterprise/management_toolbar_button.h"

#include <vector>

#include "base/check.h"
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/metrics/user_metrics.h"
#include "base/metrics/user_metrics_action.h"
#include "base/task/single_thread_task_runner.h"
#include "chrome/app/vector_icons/vector_icons.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/enterprise/browser_management/browser_management_service.h"
#include "chrome/browser/enterprise/browser_management/management_service_factory.h"
#include "chrome/browser/enterprise/util/managed_browser_utils.h"
#include "chrome/browser/profiles/avatar_menu.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/browser_element_identifiers.h"
#include "chrome/browser/ui/layout_constants.h"
#include "chrome/browser/ui/managed_ui.h"
#include "chrome/browser/ui/ui_features.h"
#include "chrome/browser/ui/view_ids.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/common/pref_names.h"
#include "chrome/grit/generated_resources.h"
#include "components/feature_engagement/public/feature_constants.h"
#include "components/policy/core/common/management/management_service.h"
#include "components/prefs/pref_service.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/gfx/canvas.h"
#include "ui/gfx/image/canvas_image_source.h"
#include "ui/gfx/image/image.h"
#include "ui/gfx/image/image_skia_operations.h"
#include "ui/views/accessibility/view_accessibility.h"
#include "ui/views/controls/button/button_controller.h"
#include "ui/views/controls/button/label_button_border.h"
#include "ui/views/view_class_properties.h"

namespace {

// Note that the non-touchable icon size is larger than the default to make the
// management icon easier to read.
constexpr int kIconSizeForNonTouchUi =;
constexpr int kButtonMaxWidth =;

bool CanShowManagementToolbarButton(Profile* profile) {}

}  // namespace

ManagementToolbarButton::ManagementToolbarButton(BrowserView* browser_view,
                                                 Profile* profile)
    :{}

ManagementToolbarButton::~ManagementToolbarButton() = default;

void ManagementToolbarButton::UpdateManagementInfo() {}

void ManagementToolbarButton::UpdateIcon() {}

void ManagementToolbarButton::Layout(PassKey) {}

bool ManagementToolbarButton::ShouldPaintBorder() const {}

void ManagementToolbarButton::UpdateText() {}

void ManagementToolbarButton::OnThemeChanged() {}

void ManagementToolbarButton::ButtonPressed() {}

ui::ImageModel ManagementToolbarButton::GetIcon() const {}

bool ManagementToolbarButton::IsLabelPresentAndVisible() const {}

void ManagementToolbarButton::UpdateLayoutInsets() {}

void ManagementToolbarButton::SetManagementLabel(
    const std::string& management_label) {}

void ManagementToolbarButton::SetManagementIcon(
    const gfx::Image& management_icon) {}

BEGIN_METADATA()