#include "chrome/browser/ui/webauthn/sheet_models.h"
#include <cstddef>
#include <memory>
#include <optional>
#include <string>
#include <utility>
#include "base/check.h"
#include "base/check_op.h"
#include "base/memory/ptr_util.h"
#include "base/notreached.h"
#include "base/ranges/algorithm.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/profiles/profile_avatar_icon_util.h"
#include "chrome/browser/ui/webauthn/user_actions.h"
#include "chrome/browser/ui/webauthn/webauthn_ui_helpers.h"
#include "chrome/browser/webauthn/authenticator_request_dialog_model.h"
#include "chrome/grit/browser_resources.h"
#include "chrome/grit/generated_resources.h"
#include "components/signin/public/identity_manager/account_info.h"
#include "components/strings/grit/components_strings.h"
#include "content/public/browser/render_frame_host.h"
#include "device/fido/discoverable_credential_metadata.h"
#include "device/fido/fido_constants.h"
#include "device/fido/fido_types.h"
#include "device/fido/pin.h"
#include "third_party/abseil-cpp/absl/types/variant.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/resource/resource_bundle.h"
#if BUILDFLAG(IS_MAC)
#include "base/mac/mac_util.h"
#include "crypto/scoped_lacontext.h"
#include "device/fido/mac/util.h"
#endif
namespace {
CredentialMech;
EnclaveMech;
ICloudKeychainMech;
Step;
constexpr int kGpmArbitraryPinMinLength = …;
bool IsLocalPasskeyOrEnclaveAuthenticator(
const AuthenticatorRequestDialogModel::Mechanism& mech) { … }
std::u16string PossibleResidentKeyWarning(
AuthenticatorRequestDialogModel* dialog_model) { … }
}
AuthenticatorSheetModelBase::AuthenticatorSheetModelBase(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorSheetModelBase::AuthenticatorSheetModelBase(
AuthenticatorRequestDialogModel* dialog_model,
OtherMechanismButtonVisibility other_mechanism_button_visibility)
: … { … }
AuthenticatorSheetModelBase::~AuthenticatorSheetModelBase() { … }
std::u16string AuthenticatorSheetModelBase::GetRelyingPartyIdString(
const AuthenticatorRequestDialogModel* dialog_model) { … }
bool AuthenticatorSheetModelBase::IsActivityIndicatorVisible() const { … }
bool AuthenticatorSheetModelBase::IsCancelButtonVisible() const { … }
bool AuthenticatorSheetModelBase::IsOtherMechanismButtonVisible() const { … }
std::u16string AuthenticatorSheetModelBase::GetOtherMechanismButtonLabel()
const { … }
std::u16string AuthenticatorSheetModelBase::GetCancelButtonLabel() const { … }
bool AuthenticatorSheetModelBase::IsAcceptButtonVisible() const { … }
bool AuthenticatorSheetModelBase::IsAcceptButtonEnabled() const { … }
std::u16string AuthenticatorSheetModelBase::GetAcceptButtonLabel() const { … }
void AuthenticatorSheetModelBase::OnBack() { … }
void AuthenticatorSheetModelBase::OnAccept() { … }
void AuthenticatorSheetModelBase::OnCancel() { … }
void AuthenticatorSheetModelBase::OnModelDestroyed(
AuthenticatorRequestDialogModel* model) { … }
AuthenticatorMechanismSelectorSheetModel::
AuthenticatorMechanismSelectorSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
std::u16string AuthenticatorMechanismSelectorSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorMechanismSelectorSheetModel::GetStepDescription()
const { … }
AuthenticatorInsertAndActivateUsbSheetModel::
AuthenticatorInsertAndActivateUsbSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
bool AuthenticatorInsertAndActivateUsbSheetModel::IsActivityIndicatorVisible()
const { … }
std::u16string AuthenticatorInsertAndActivateUsbSheetModel::GetStepTitle()
const { … }
std::u16string AuthenticatorInsertAndActivateUsbSheetModel::GetStepDescription()
const { … }
std::u16string
AuthenticatorInsertAndActivateUsbSheetModel::GetAdditionalDescription() const { … }
AuthenticatorTimeoutErrorModel::AuthenticatorTimeoutErrorModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
std::u16string AuthenticatorTimeoutErrorModel::GetCancelButtonLabel() const { … }
std::u16string AuthenticatorTimeoutErrorModel::GetStepTitle() const { … }
std::u16string AuthenticatorTimeoutErrorModel::GetStepDescription() const { … }
AuthenticatorNoAvailableTransportsErrorModel::
AuthenticatorNoAvailableTransportsErrorModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
std::u16string
AuthenticatorNoAvailableTransportsErrorModel::GetCancelButtonLabel() const { … }
std::u16string AuthenticatorNoAvailableTransportsErrorModel::GetStepTitle()
const { … }
std::u16string
AuthenticatorNoAvailableTransportsErrorModel::GetStepDescription() const { … }
AuthenticatorNoPasskeysErrorModel::AuthenticatorNoPasskeysErrorModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
std::u16string AuthenticatorNoPasskeysErrorModel::GetCancelButtonLabel() const { … }
std::u16string AuthenticatorNoPasskeysErrorModel::GetStepTitle() const { … }
std::u16string AuthenticatorNoPasskeysErrorModel::GetStepDescription() const { … }
AuthenticatorNotRegisteredErrorModel::AuthenticatorNotRegisteredErrorModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
std::u16string AuthenticatorNotRegisteredErrorModel::GetCancelButtonLabel()
const { … }
bool AuthenticatorNotRegisteredErrorModel::IsAcceptButtonVisible() const { … }
std::u16string AuthenticatorNotRegisteredErrorModel::GetAcceptButtonLabel()
const { … }
std::u16string AuthenticatorNotRegisteredErrorModel::GetStepTitle() const { … }
std::u16string AuthenticatorNotRegisteredErrorModel::GetStepDescription()
const { … }
void AuthenticatorNotRegisteredErrorModel::OnAccept() { … }
AuthenticatorAlreadyRegisteredErrorModel::
AuthenticatorAlreadyRegisteredErrorModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
std::u16string AuthenticatorAlreadyRegisteredErrorModel::GetCancelButtonLabel()
const { … }
bool AuthenticatorAlreadyRegisteredErrorModel::IsAcceptButtonVisible() const { … }
std::u16string AuthenticatorAlreadyRegisteredErrorModel::GetAcceptButtonLabel()
const { … }
std::u16string AuthenticatorAlreadyRegisteredErrorModel::GetStepTitle() const { … }
std::u16string AuthenticatorAlreadyRegisteredErrorModel::GetStepDescription()
const { … }
void AuthenticatorAlreadyRegisteredErrorModel::OnAccept() { … }
AuthenticatorInternalUnrecognizedErrorSheetModel::
AuthenticatorInternalUnrecognizedErrorSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
bool AuthenticatorInternalUnrecognizedErrorSheetModel::IsAcceptButtonVisible()
const { … }
std::u16string
AuthenticatorInternalUnrecognizedErrorSheetModel::GetAcceptButtonLabel() const { … }
std::u16string AuthenticatorInternalUnrecognizedErrorSheetModel::GetStepTitle()
const { … }
std::u16string
AuthenticatorInternalUnrecognizedErrorSheetModel::GetStepDescription() const { … }
void AuthenticatorInternalUnrecognizedErrorSheetModel::OnAccept() { … }
AuthenticatorBlePowerOnManualSheetModel::
AuthenticatorBlePowerOnManualSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
std::u16string AuthenticatorBlePowerOnManualSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorBlePowerOnManualSheetModel::GetStepDescription()
const { … }
bool AuthenticatorBlePowerOnManualSheetModel::IsAcceptButtonVisible() const { … }
bool AuthenticatorBlePowerOnManualSheetModel::IsAcceptButtonEnabled() const { … }
std::u16string AuthenticatorBlePowerOnManualSheetModel::GetAcceptButtonLabel()
const { … }
void AuthenticatorBlePowerOnManualSheetModel::OnBluetoothPoweredStateChanged() { … }
void AuthenticatorBlePowerOnManualSheetModel::OnAccept() { … }
AuthenticatorBlePowerOnAutomaticSheetModel::
AuthenticatorBlePowerOnAutomaticSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
bool AuthenticatorBlePowerOnAutomaticSheetModel::IsActivityIndicatorVisible()
const { … }
std::u16string AuthenticatorBlePowerOnAutomaticSheetModel::GetStepTitle()
const { … }
std::u16string AuthenticatorBlePowerOnAutomaticSheetModel::GetStepDescription()
const { … }
bool AuthenticatorBlePowerOnAutomaticSheetModel::IsAcceptButtonVisible() const { … }
bool AuthenticatorBlePowerOnAutomaticSheetModel::IsAcceptButtonEnabled() const { … }
std::u16string
AuthenticatorBlePowerOnAutomaticSheetModel::GetAcceptButtonLabel() const { … }
void AuthenticatorBlePowerOnAutomaticSheetModel::OnAccept() { … }
#if BUILDFLAG(IS_MAC)
AuthenticatorBlePermissionMacSheetModel::
AuthenticatorBlePermissionMacSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: AuthenticatorSheetModelBase(dialog_model,
OtherMechanismButtonVisibility::kVisible) {
vector_illustrations_.emplace(kPasskeyErrorBluetoothIcon,
kPasskeyErrorBluetoothDarkIcon);
}
std::u16string AuthenticatorBlePermissionMacSheetModel::GetStepTitle() const {
return u"";
}
std::u16string AuthenticatorBlePermissionMacSheetModel::GetStepDescription()
const {
return l10n_util::GetStringUTF16(IDS_WEBAUTHN_BLUETOOTH_PERMISSION);
}
bool AuthenticatorBlePermissionMacSheetModel::IsAcceptButtonVisible() const {
return true;
}
bool AuthenticatorBlePermissionMacSheetModel::IsCancelButtonVisible() const {
return true;
}
std::u16string AuthenticatorBlePermissionMacSheetModel::GetAcceptButtonLabel()
const {
return l10n_util::GetStringUTF16(IDS_OPEN_SETTINGS_LINK);
}
void AuthenticatorBlePermissionMacSheetModel::OnAccept() {
dialog_model()->OpenBlePreferences();
}
AuthenticatorTouchIdSheetModel::AuthenticatorTouchIdSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: AuthenticatorSheetModelBase(dialog_model,
OtherMechanismButtonVisibility::kVisible) {
webauthn::user_actions::RecordGpmTouchIdDialogShown(
dialog_model->request_type == device::FidoRequestType::kMakeCredential);
}
std::u16string AuthenticatorTouchIdSheetModel::GetStepTitle() const {
const std::u16string rp_id = GetRelyingPartyIdString(dialog_model());
switch (dialog_model()->request_type) {
case device::FidoRequestType::kMakeCredential:
return l10n_util::GetStringFUTF16(IDS_WEBAUTHN_GPM_CREATE_PASSKEY_TITLE,
rp_id);
case device::FidoRequestType::kGetAssertion:
return l10n_util::GetStringFUTF16(
IDS_WEBAUTHN_CHOOSE_PASSKEY_FOR_RP_TITLE, rp_id);
}
}
std::u16string AuthenticatorTouchIdSheetModel::GetStepDescription() const {
switch (dialog_model()->request_type) {
case device::FidoRequestType::kMakeCredential:
return l10n_util::GetStringFUTF16(
IDS_WEBAUTHN_GPM_CREATE_PASSKEY_DESC,
base::UTF8ToUTF16(dialog_model()->GetGpmAccountEmail()));
case device::FidoRequestType::kGetAssertion:
return l10n_util::GetStringFUTF16(
IDS_WEBAUTHN_TOUCH_ID_ASSERTION_DESC,
GetRelyingPartyIdString(dialog_model()));
}
}
bool AuthenticatorTouchIdSheetModel::IsAcceptButtonVisible() const {
return !device::fido::mac::DeviceHasBiometricsAvailable();
}
bool AuthenticatorTouchIdSheetModel::IsCancelButtonVisible() const {
return true;
}
std::u16string AuthenticatorTouchIdSheetModel::GetAcceptButtonLabel() const {
return l10n_util::GetStringUTF16(IDS_WEBAUTHN_TOUCH_ID_ENTER_PASSWORD);
}
void AuthenticatorTouchIdSheetModel::OnAccept() {
if (touch_id_completed_) {
return;
}
webauthn::user_actions::RecordAcceptClick();
touch_id_completed_ = true;
dialog_model()->OnTouchIDComplete(false);
}
void AuthenticatorTouchIdSheetModel::OnTouchIDSensorTapped(
std::optional<crypto::ScopedLAContext> lacontext) {
if (touch_id_completed_) {
return;
}
if (!lacontext) {
dialog_model()->OnSheetModelChanged();
return;
}
touch_id_completed_ = true;
dialog_model()->lacontext = std::move(lacontext);
dialog_model()->OnTouchIDComplete(true);
}
#endif
AuthenticatorOffTheRecordInterstitialSheetModel::
AuthenticatorOffTheRecordInterstitialSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
std::u16string AuthenticatorOffTheRecordInterstitialSheetModel::GetStepTitle()
const { … }
std::u16string
AuthenticatorOffTheRecordInterstitialSheetModel::GetStepDescription() const { … }
bool AuthenticatorOffTheRecordInterstitialSheetModel::IsAcceptButtonVisible()
const { … }
std::u16string
AuthenticatorOffTheRecordInterstitialSheetModel::GetAcceptButtonLabel() const { … }
void AuthenticatorOffTheRecordInterstitialSheetModel::OnAccept() { … }
std::u16string
AuthenticatorOffTheRecordInterstitialSheetModel::GetCancelButtonLabel() const { … }
AuthenticatorPaaskSheetModel::AuthenticatorPaaskSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorPaaskSheetModel::~AuthenticatorPaaskSheetModel() = default;
bool AuthenticatorPaaskSheetModel::IsActivityIndicatorVisible() const { … }
std::u16string AuthenticatorPaaskSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorPaaskSheetModel::GetStepDescription() const { … }
bool AuthenticatorPaaskSheetModel::IsManageDevicesButtonVisible() const { … }
void AuthenticatorPaaskSheetModel::OnManageDevices() { … }
AuthenticatorAndroidAccessorySheetModel::
AuthenticatorAndroidAccessorySheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorAndroidAccessorySheetModel::
~AuthenticatorAndroidAccessorySheetModel() = default;
bool AuthenticatorAndroidAccessorySheetModel::IsActivityIndicatorVisible()
const { … }
std::u16string AuthenticatorAndroidAccessorySheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorAndroidAccessorySheetModel::GetStepDescription()
const { … }
AuthenticatorClientPinEntrySheetModel::AuthenticatorClientPinEntrySheetModel(
AuthenticatorRequestDialogModel* dialog_model,
Mode mode,
device::pin::PINEntryError error)
: … { … }
AuthenticatorClientPinEntrySheetModel::
~AuthenticatorClientPinEntrySheetModel() = default;
void AuthenticatorClientPinEntrySheetModel::SetPinCode(
std::u16string pin_code) { … }
void AuthenticatorClientPinEntrySheetModel::SetPinConfirmation(
std::u16string pin_confirmation) { … }
std::u16string AuthenticatorClientPinEntrySheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorClientPinEntrySheetModel::GetStepDescription()
const { … }
std::u16string AuthenticatorClientPinEntrySheetModel::GetError() const { … }
bool AuthenticatorClientPinEntrySheetModel::IsAcceptButtonVisible() const { … }
std::u16string AuthenticatorClientPinEntrySheetModel::GetAcceptButtonLabel()
const { … }
void AuthenticatorClientPinEntrySheetModel::OnAccept() { … }
AuthenticatorClientPinTapAgainSheetModel::
AuthenticatorClientPinTapAgainSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorClientPinTapAgainSheetModel::
~AuthenticatorClientPinTapAgainSheetModel() = default;
bool AuthenticatorClientPinTapAgainSheetModel::IsActivityIndicatorVisible()
const { … }
std::u16string AuthenticatorClientPinTapAgainSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorClientPinTapAgainSheetModel::GetStepDescription()
const { … }
std::u16string
AuthenticatorClientPinTapAgainSheetModel::GetAdditionalDescription() const { … }
AuthenticatorBioEnrollmentSheetModel::AuthenticatorBioEnrollmentSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorBioEnrollmentSheetModel::~AuthenticatorBioEnrollmentSheetModel() =
default;
bool AuthenticatorBioEnrollmentSheetModel::IsActivityIndicatorVisible() const { … }
std::u16string AuthenticatorBioEnrollmentSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorBioEnrollmentSheetModel::GetStepDescription()
const { … }
bool AuthenticatorBioEnrollmentSheetModel::IsAcceptButtonVisible() const { … }
std::u16string AuthenticatorBioEnrollmentSheetModel::GetAcceptButtonLabel()
const { … }
bool AuthenticatorBioEnrollmentSheetModel::IsCancelButtonVisible() const { … }
std::u16string AuthenticatorBioEnrollmentSheetModel::GetCancelButtonLabel()
const { … }
void AuthenticatorBioEnrollmentSheetModel::OnAccept() { … }
void AuthenticatorBioEnrollmentSheetModel::OnCancel() { … }
AuthenticatorRetryUvSheetModel::AuthenticatorRetryUvSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorRetryUvSheetModel::~AuthenticatorRetryUvSheetModel() = default;
bool AuthenticatorRetryUvSheetModel::IsActivityIndicatorVisible() const { … }
std::u16string AuthenticatorRetryUvSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorRetryUvSheetModel::GetStepDescription() const { … }
std::u16string AuthenticatorRetryUvSheetModel::GetError() const { … }
std::unique_ptr<AuthenticatorGenericErrorSheetModel>
AuthenticatorGenericErrorSheetModel::ForClientPinErrorSoftBlock(
AuthenticatorRequestDialogModel* dialog_model) { … }
std::unique_ptr<AuthenticatorGenericErrorSheetModel>
AuthenticatorGenericErrorSheetModel::ForClientPinErrorHardBlock(
AuthenticatorRequestDialogModel* dialog_model) { … }
std::unique_ptr<AuthenticatorGenericErrorSheetModel>
AuthenticatorGenericErrorSheetModel::ForClientPinErrorAuthenticatorRemoved(
AuthenticatorRequestDialogModel* dialog_model) { … }
std::unique_ptr<AuthenticatorGenericErrorSheetModel>
AuthenticatorGenericErrorSheetModel::ForMissingCapability(
AuthenticatorRequestDialogModel* dialog_model) { … }
std::unique_ptr<AuthenticatorGenericErrorSheetModel>
AuthenticatorGenericErrorSheetModel::ForStorageFull(
AuthenticatorRequestDialogModel* dialog_model) { … }
std::unique_ptr<AuthenticatorGenericErrorSheetModel>
AuthenticatorGenericErrorSheetModel::ForWindowsHelloNotEnabled(
AuthenticatorRequestDialogModel* dialog_model) { … }
AuthenticatorGenericErrorSheetModel::AuthenticatorGenericErrorSheetModel(
AuthenticatorRequestDialogModel* dialog_model,
std::u16string title,
std::u16string description)
: … { … }
std::u16string AuthenticatorGenericErrorSheetModel::GetCancelButtonLabel()
const { … }
bool AuthenticatorGenericErrorSheetModel::IsAcceptButtonVisible() const { … }
std::u16string AuthenticatorGenericErrorSheetModel::GetAcceptButtonLabel()
const { … }
std::u16string AuthenticatorGenericErrorSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorGenericErrorSheetModel::GetStepDescription() const { … }
void AuthenticatorGenericErrorSheetModel::OnAccept() { … }
AuthenticatorResidentCredentialConfirmationSheetView::
AuthenticatorResidentCredentialConfirmationSheetView(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorResidentCredentialConfirmationSheetView::
~AuthenticatorResidentCredentialConfirmationSheetView() = default;
bool AuthenticatorResidentCredentialConfirmationSheetView::
IsAcceptButtonVisible() const { … }
std::u16string
AuthenticatorResidentCredentialConfirmationSheetView::GetAcceptButtonLabel()
const { … }
std::u16string
AuthenticatorResidentCredentialConfirmationSheetView::GetStepTitle() const { … }
std::u16string
AuthenticatorResidentCredentialConfirmationSheetView::GetStepDescription()
const { … }
void AuthenticatorResidentCredentialConfirmationSheetView::OnAccept() { … }
AuthenticatorSelectAccountSheetModel::AuthenticatorSelectAccountSheetModel(
AuthenticatorRequestDialogModel* dialog_model,
UserVerificationMode mode,
SelectionType type)
: … { … }
AuthenticatorSelectAccountSheetModel::~AuthenticatorSelectAccountSheetModel() =
default;
AuthenticatorSelectAccountSheetModel::SelectionType
AuthenticatorSelectAccountSheetModel::selection_type() const { … }
const device::DiscoverableCredentialMetadata&
AuthenticatorSelectAccountSheetModel::SingleCredential() const { … }
void AuthenticatorSelectAccountSheetModel::SetCurrentSelection(int selected) { … }
void AuthenticatorSelectAccountSheetModel::OnAccept() { … }
std::u16string AuthenticatorSelectAccountSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorSelectAccountSheetModel::GetStepDescription()
const { … }
bool AuthenticatorSelectAccountSheetModel::IsAcceptButtonVisible() const { … }
std::u16string AuthenticatorSelectAccountSheetModel::GetAcceptButtonLabel()
const { … }
AttestationPermissionRequestSheetModel::AttestationPermissionRequestSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AttestationPermissionRequestSheetModel::
~AttestationPermissionRequestSheetModel() = default;
void AttestationPermissionRequestSheetModel::OnAccept() { … }
void AttestationPermissionRequestSheetModel::OnCancel() { … }
std::u16string AttestationPermissionRequestSheetModel::GetStepTitle() const { … }
std::u16string AttestationPermissionRequestSheetModel::GetStepDescription()
const { … }
bool AttestationPermissionRequestSheetModel::IsAcceptButtonVisible() const { … }
std::u16string AttestationPermissionRequestSheetModel::GetAcceptButtonLabel()
const { … }
bool AttestationPermissionRequestSheetModel::IsCancelButtonVisible() const { … }
std::u16string AttestationPermissionRequestSheetModel::GetCancelButtonLabel()
const { … }
EnterpriseAttestationPermissionRequestSheetModel::
EnterpriseAttestationPermissionRequestSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
std::u16string EnterpriseAttestationPermissionRequestSheetModel::GetStepTitle()
const { … }
std::u16string
EnterpriseAttestationPermissionRequestSheetModel::GetStepDescription() const { … }
AuthenticatorQRSheetModel::AuthenticatorQRSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorQRSheetModel::~AuthenticatorQRSheetModel() = default;
std::u16string AuthenticatorQRSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorQRSheetModel::GetStepDescription() const { … }
bool AuthenticatorQRSheetModel::ShowSecurityKeyLabel() const { … }
std::u16string AuthenticatorQRSheetModel::GetSecurityKeyLabel() const { … }
AuthenticatorConnectingSheetModel::AuthenticatorConnectingSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorConnectingSheetModel::~AuthenticatorConnectingSheetModel() =
default;
std::u16string AuthenticatorConnectingSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorConnectingSheetModel::GetStepDescription() const { … }
AuthenticatorConnectedSheetModel::AuthenticatorConnectedSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorConnectedSheetModel::~AuthenticatorConnectedSheetModel() = default;
bool AuthenticatorConnectedSheetModel::IsActivityIndicatorVisible() const { … }
std::u16string AuthenticatorConnectedSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorConnectedSheetModel::GetStepDescription() const { … }
AuthenticatorCableErrorSheetModel::AuthenticatorCableErrorSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorCableErrorSheetModel::~AuthenticatorCableErrorSheetModel() =
default;
std::u16string AuthenticatorCableErrorSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorCableErrorSheetModel::GetStepDescription() const { … }
std::u16string AuthenticatorCableErrorSheetModel::GetCancelButtonLabel() const { … }
AuthenticatorCreatePasskeySheetModel::AuthenticatorCreatePasskeySheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorCreatePasskeySheetModel::~AuthenticatorCreatePasskeySheetModel() =
default;
std::u16string AuthenticatorCreatePasskeySheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorCreatePasskeySheetModel::GetStepDescription()
const { … }
std::u16string
AuthenticatorCreatePasskeySheetModel::passkey_storage_description() const { … }
bool AuthenticatorCreatePasskeySheetModel::IsAcceptButtonVisible() const { … }
std::u16string AuthenticatorCreatePasskeySheetModel::GetAcceptButtonLabel()
const { … }
void AuthenticatorCreatePasskeySheetModel::OnAccept() { … }
AuthenticatorGPMErrorSheetModel::AuthenticatorGPMErrorSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorGPMErrorSheetModel::~AuthenticatorGPMErrorSheetModel() = default;
std::u16string AuthenticatorGPMErrorSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorGPMErrorSheetModel::GetStepDescription() const { … }
AuthenticatorGPMConnectingSheetModel::AuthenticatorGPMConnectingSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorGPMConnectingSheetModel::~AuthenticatorGPMConnectingSheetModel() =
default;
std::u16string AuthenticatorGPMConnectingSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorGPMConnectingSheetModel::GetStepDescription()
const { … }
AuthenticatorPhoneConfirmationSheet::AuthenticatorPhoneConfirmationSheet(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorPhoneConfirmationSheet::~AuthenticatorPhoneConfirmationSheet() =
default;
std::u16string AuthenticatorPhoneConfirmationSheet::GetStepTitle() const { … }
std::u16string AuthenticatorPhoneConfirmationSheet::GetStepDescription() const { … }
bool AuthenticatorPhoneConfirmationSheet::IsAcceptButtonVisible() const { … }
std::u16string AuthenticatorPhoneConfirmationSheet::GetAcceptButtonLabel()
const { … }
void AuthenticatorPhoneConfirmationSheet::OnAccept() { … }
AuthenticatorMultiSourcePickerSheetModel::
AuthenticatorMultiSourcePickerSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorMultiSourcePickerSheetModel::
~AuthenticatorMultiSourcePickerSheetModel() = default;
bool AuthenticatorMultiSourcePickerSheetModel::IsManageDevicesButtonVisible()
const { … }
void AuthenticatorMultiSourcePickerSheetModel::OnManageDevices() { … }
std::u16string AuthenticatorMultiSourcePickerSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorMultiSourcePickerSheetModel::GetStepDescription()
const { … }
AuthenticatorPriorityMechanismSheetModel::
AuthenticatorPriorityMechanismSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorPriorityMechanismSheetModel::
~AuthenticatorPriorityMechanismSheetModel() = default;
std::u16string AuthenticatorPriorityMechanismSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorPriorityMechanismSheetModel::GetStepDescription()
const { … }
bool AuthenticatorPriorityMechanismSheetModel::IsAcceptButtonVisible() const { … }
std::u16string AuthenticatorPriorityMechanismSheetModel::GetAcceptButtonLabel()
const { … }
void AuthenticatorPriorityMechanismSheetModel::OnAccept() { … }
AuthenticatorGpmPinSheetModelBase::AuthenticatorGpmPinSheetModelBase(
AuthenticatorRequestDialogModel* dialog_model,
Mode mode)
: … { … }
AuthenticatorGpmPinSheetModelBase::~AuthenticatorGpmPinSheetModelBase() =
default;
std::u16string AuthenticatorGpmPinSheetModelBase::GetGpmAccountEmail() const { … }
std::u16string AuthenticatorGpmPinSheetModelBase::GetGpmAccountName() const { … }
gfx::Image AuthenticatorGpmPinSheetModelBase::GetGpmAccountImage() const { … }
std::u16string AuthenticatorGpmPinSheetModelBase::GetAccessibleDescription()
const { … }
bool AuthenticatorGpmPinSheetModelBase::ui_disabled() const { … }
std::u16string AuthenticatorGpmPinSheetModelBase::GetStepTitle() const { … }
std::u16string AuthenticatorGpmPinSheetModelBase::GetStepDescription() const { … }
std::u16string AuthenticatorGpmPinSheetModelBase::GetError() const { … }
bool AuthenticatorGpmPinSheetModelBase::IsForgotGPMPinButtonVisible() const { … }
bool AuthenticatorGpmPinSheetModelBase::IsGPMPinOptionsButtonVisible() const { … }
void AuthenticatorGpmPinSheetModelBase::OnAccept() { … }
void AuthenticatorGpmPinSheetModelBase::OnForgotGPMPin() const { … }
void AuthenticatorGpmPinSheetModelBase::OnGPMPinOptionChosen(
bool is_arbitrary) const { … }
AuthenticatorGpmPinSheetModel::AuthenticatorGpmPinSheetModel(
AuthenticatorRequestDialogModel* dialog_model,
int pin_digits_count,
Mode mode)
: … { … }
AuthenticatorGpmPinSheetModel::~AuthenticatorGpmPinSheetModel() = default;
void AuthenticatorGpmPinSheetModel::PinCharTyped(bool is_digit) { … }
int AuthenticatorGpmPinSheetModel::pin_digits_count() const { … }
void AuthenticatorGpmPinSheetModel::SetPin(std::u16string pin) { … }
std::u16string AuthenticatorGpmPinSheetModel::GetAccessibleName() const { … }
bool AuthenticatorGpmPinSheetModel::FullPinTyped() const { … }
bool AuthenticatorGpmPinSheetModel::IsAcceptButtonVisible() const { … }
bool AuthenticatorGpmPinSheetModel::IsAcceptButtonEnabled() const { … }
std::u16string AuthenticatorGpmPinSheetModel::GetAcceptButtonLabel() const { … }
std::u16string AuthenticatorGpmPinSheetModel::GetHint() const { … }
AuthenticatorGpmArbitraryPinSheetModel::AuthenticatorGpmArbitraryPinSheetModel(
AuthenticatorRequestDialogModel* dialog_model,
Mode mode)
: … { … }
AuthenticatorGpmArbitraryPinSheetModel::
~AuthenticatorGpmArbitraryPinSheetModel() = default;
void AuthenticatorGpmArbitraryPinSheetModel::SetPin(std::u16string pin) { … }
std::u16string AuthenticatorGpmArbitraryPinSheetModel::GetAccessibleName()
const { … }
bool AuthenticatorGpmArbitraryPinSheetModel::IsAcceptButtonVisible() const { … }
bool AuthenticatorGpmArbitraryPinSheetModel::IsAcceptButtonEnabled() const { … }
std::u16string AuthenticatorGpmArbitraryPinSheetModel::GetAcceptButtonLabel()
const { … }
std::u16string AuthenticatorGpmArbitraryPinSheetModel::GetHint() const { … }
AuthenticatorTrustThisComputerAssertionSheetModel::
AuthenticatorTrustThisComputerAssertionSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorTrustThisComputerAssertionSheetModel::
~AuthenticatorTrustThisComputerAssertionSheetModel() = default;
std::u16string AuthenticatorTrustThisComputerAssertionSheetModel::GetStepTitle()
const { … }
std::u16string
AuthenticatorTrustThisComputerAssertionSheetModel::GetStepDescription() const { … }
bool AuthenticatorTrustThisComputerAssertionSheetModel::IsCancelButtonVisible()
const { … }
std::u16string
AuthenticatorTrustThisComputerAssertionSheetModel::GetCancelButtonLabel()
const { … }
bool AuthenticatorTrustThisComputerAssertionSheetModel::IsAcceptButtonVisible()
const { … }
std::u16string
AuthenticatorTrustThisComputerAssertionSheetModel::GetAcceptButtonLabel()
const { … }
bool AuthenticatorTrustThisComputerAssertionSheetModel::
IsOtherMechanismButtonVisible() const { … }
std::u16string AuthenticatorTrustThisComputerAssertionSheetModel::
GetOtherMechanismButtonLabel() const { … }
void AuthenticatorTrustThisComputerAssertionSheetModel::OnBack() { … }
void AuthenticatorTrustThisComputerAssertionSheetModel::OnAccept() { … }
AuthenticatorCreateGpmPasskeySheetModel::
AuthenticatorCreateGpmPasskeySheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorCreateGpmPasskeySheetModel::
~AuthenticatorCreateGpmPasskeySheetModel() = default;
std::u16string AuthenticatorCreateGpmPasskeySheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorCreateGpmPasskeySheetModel::GetStepDescription()
const { … }
bool AuthenticatorCreateGpmPasskeySheetModel::IsCancelButtonVisible() const { … }
std::u16string AuthenticatorCreateGpmPasskeySheetModel::GetCancelButtonLabel()
const { … }
bool AuthenticatorCreateGpmPasskeySheetModel::IsAcceptButtonVisible() const { … }
std::u16string AuthenticatorCreateGpmPasskeySheetModel::GetAcceptButtonLabel()
const { … }
void AuthenticatorCreateGpmPasskeySheetModel::OnAccept() { … }
AuthenticatorGpmIncognitoCreateSheetModel::
AuthenticatorGpmIncognitoCreateSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorGpmIncognitoCreateSheetModel::
~AuthenticatorGpmIncognitoCreateSheetModel() = default;
std::u16string AuthenticatorGpmIncognitoCreateSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorGpmIncognitoCreateSheetModel::GetStepDescription()
const { … }
bool AuthenticatorGpmIncognitoCreateSheetModel::IsCancelButtonVisible() const { … }
std::u16string AuthenticatorGpmIncognitoCreateSheetModel::GetCancelButtonLabel()
const { … }
bool AuthenticatorGpmIncognitoCreateSheetModel::IsAcceptButtonVisible() const { … }
std::u16string AuthenticatorGpmIncognitoCreateSheetModel::GetAcceptButtonLabel()
const { … }
void AuthenticatorGpmIncognitoCreateSheetModel::OnAccept() { … }
AuthenticatorTrustThisComputerCreationSheetModel::
AuthenticatorTrustThisComputerCreationSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorTrustThisComputerCreationSheetModel::
~AuthenticatorTrustThisComputerCreationSheetModel() = default;
std::u16string AuthenticatorTrustThisComputerCreationSheetModel::GetStepTitle()
const { … }
std::u16string
AuthenticatorTrustThisComputerCreationSheetModel::GetStepDescription() const { … }
bool AuthenticatorTrustThisComputerCreationSheetModel::IsCancelButtonVisible()
const { … }
std::u16string
AuthenticatorTrustThisComputerCreationSheetModel::GetCancelButtonLabel() const { … }
bool AuthenticatorTrustThisComputerCreationSheetModel::IsAcceptButtonVisible()
const { … }
std::u16string
AuthenticatorTrustThisComputerCreationSheetModel::GetAcceptButtonLabel() const { … }
std::u16string
AuthenticatorTrustThisComputerCreationSheetModel::GetOtherMechanismButtonLabel()
const { … }
void AuthenticatorTrustThisComputerCreationSheetModel::OnAccept() { … }
AuthenticatorGPMLockedPinSheetModel::AuthenticatorGPMLockedPinSheetModel(
AuthenticatorRequestDialogModel* dialog_model)
: … { … }
AuthenticatorGPMLockedPinSheetModel::~AuthenticatorGPMLockedPinSheetModel() =
default;
std::u16string AuthenticatorGPMLockedPinSheetModel::GetStepTitle() const { … }
std::u16string AuthenticatorGPMLockedPinSheetModel::GetStepDescription() const { … }
bool AuthenticatorGPMLockedPinSheetModel::IsAcceptButtonEnabled() const { … }
bool AuthenticatorGPMLockedPinSheetModel::IsAcceptButtonVisible() const { … }
std::u16string AuthenticatorGPMLockedPinSheetModel::GetAcceptButtonLabel()
const { … }
void AuthenticatorGPMLockedPinSheetModel::OnAccept() { … }