#include "chrome/browser/ui/views/permissions/exclusive_access_permission_prompt_view.h"
#include "chrome/browser/platform_util.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/color/chrome_color_id.h"
#include "chrome/browser/ui/url_identity.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/browser/ui/views/chrome_widget_sublevel.h"
#include "chrome/grit/generated_resources.h"
#include "components/permissions/features.h"
#include "components/strings/grit/components_strings.h"
#include "components/vector_icons/vector_icons.h"
#include "ui/base/interaction/element_identifier.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/mojom/dialog_button.mojom.h"
#include "ui/gfx/paint_vector_icon.h"
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(ExclusiveAccessPermissionPromptView,
kMainViewId);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(ExclusiveAccessPermissionPromptView,
kLabelViewId1);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(ExclusiveAccessPermissionPromptView,
kLabelViewId2);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(ExclusiveAccessPermissionPromptView,
kAlwaysAllowId);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(ExclusiveAccessPermissionPromptView,
kAllowThisTimeId);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(ExclusiveAccessPermissionPromptView,
kNeverAllowId);
namespace {
constexpr int kBodyTopMargin = …;
constexpr int kButtonVerticalDistance = …;
constexpr int kPermissionIconSize = …;
void AddElementIdentifierToLabel(views::Label& label, size_t index) { … }
}
ExclusiveAccessPermissionPromptView::ExclusiveAccessPermissionPromptView(
Browser* browser,
base::WeakPtr<permissions::PermissionPrompt::Delegate> delegate)
: … { … }
ExclusiveAccessPermissionPromptView::~ExclusiveAccessPermissionPromptView() =
default;
std::u16string ExclusiveAccessPermissionPromptView::GetAccessibleWindowTitle()
const { … }
std::u16string ExclusiveAccessPermissionPromptView::GetWindowTitle() const { … }
void ExclusiveAccessPermissionPromptView::RunButtonCallback(int button_id) { … }
void ExclusiveAccessPermissionPromptView::Show() { … }
void ExclusiveAccessPermissionPromptView::CreateWidget() { … }
void ExclusiveAccessPermissionPromptView::AddedToWidget() { … }
void ExclusiveAccessPermissionPromptView::PrepareToClose() { … }
void ExclusiveAccessPermissionPromptView::ShowWidget() { … }
void ExclusiveAccessPermissionPromptView::UpdateAnchor(views::Widget* widget) { … }
bool ExclusiveAccessPermissionPromptView::ShouldShowCloseButton() const { … }
void ExclusiveAccessPermissionPromptView::Init() { … }
void ExclusiveAccessPermissionPromptView::InitButtons() { … }
void ExclusiveAccessPermissionPromptView::AddRequestLine(
raw_ptr<const gfx::VectorIcon> icon,
const std::u16string& message,
std::size_t index) { … }
void ExclusiveAccessPermissionPromptView::AddButton(
views::View& buttons_container,
const std::u16string& label,
ButtonType type,
ui::ButtonStyle style,
ui::ElementIdentifier identifier) { … }
void ExclusiveAccessPermissionPromptView::AddAlwaysAllowButton(
views::View& buttons_container) { … }
void ExclusiveAccessPermissionPromptView::AddAllowThisTimeButton(
views::View& buttons_container) { … }
void ExclusiveAccessPermissionPromptView::ClosingPermission() { … }
BEGIN_METADATA(…)