blob: d403da0051e9f8db8cb3dacfb6af8c3ccc6e4c38 [file] [log] [blame]
// 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.
#ifndef CHROME_BROWSER_UI_WEBAUTHN_USER_ACTIONS_H_
#define CHROME_BROWSER_UI_WEBAUTHN_USER_ACTIONS_H_
#include <vector>
#include "chrome/browser/webauthn/authenticator_request_dialog_model.h"
#include "device/fido/fido_constants.h"
namespace webauthn::user_actions {
// Emits what authenticators are visible to the user in the WebAuthn selection
// dialog when there are multiple options are available. Targets only GPM,
// iCloud Keychain and Windows Hello authenticators.
void RecordMultipleOptionsShown(
const std::vector<AuthenticatorRequestDialogModel::Mechanism>& mechanisms,
device::FidoRequestType request_type);
// Emits what authenticator is displayed as the priority mechanism in the
// priority WebAuthn credential selector dialog.
void RecordPriorityOptionShown(
const AuthenticatorRequestDialogModel::Mechanism& mechanism);
// Emits when the combined selector is shown. This is used for get() requests
// with mediation "immediate".
void RecordCombinedSelectorShown();
void RecordHybridAndSecurityKeyDialogShown(
device::FidoRequestType request_type);
void RecordSecurityKeyDialogShown(device::FidoRequestType request_type);
void RecordMechanismClick(
const AuthenticatorRequestDialogModel::Mechanism& mech);
void RecordCancelClick();
void RecordAcceptClick();
void RecordTrustDialogShown(device::FidoRequestType request_type);
void RecordCreateGpmDialogShown();
void RecordRecoveryShown(device::FidoRequestType request_type);
void RecordRecoveryCancelled();
void RecordRecoverySucceeded();
void RecordICloudShown(device::FidoRequestType request_type);
void RecordICloudCancelled();
void RecordICloudSuccess();
void RecordGpmTouchIdDialogShown(device::FidoRequestType request_type);
// TODO(crbug.com/358277466): Add user action for cancelling MacOS password
// dialog.
void RecordGpmPinSheetShown(device::FidoRequestType request_type,
bool is_pin_creation,
bool is_arbitrary);
void RecordGpmForgotPinClick();
void RecordGpmPinOptionChangeClick();
void RecordGpmLockedShown();
void RecordGpmSuccess();
void RecordGpmFailureShown();
void RecordGpmWinUvShown(device::FidoRequestType request_type);
// TODO(crbug.com/358277466): Add user action for cancelling Windows Hello
// dialog.
void RecordChromeProfileAuthenticatorShown(
device::FidoRequestType request_type);
void RecordChromeProfileCancelled();
void RecordChromeProfileSuccess();
void RecordWindowsHelloShown(device::FidoRequestType request_type);
void RecordWindowsHelloCancelled();
void RecordWindowsHelloSuccess();
void RecordContextMenuEntryClick();
} // namespace webauthn::user_actions
#endif // CHROME_BROWSER_UI_WEBAUTHN_USER_ACTIONS_H_