#include "content/browser/webid/federated_auth_request_impl.h"
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
#include "base/functional/callback_forward.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/run_loop.h"
#include "base/task/sequenced_task_runner.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/test/scoped_feature_list.h"
#include "components/ukm/test_ukm_recorder.h"
#include "content/browser/web_contents/web_contents_impl.h"
#include "content/browser/webid/fedcm_metrics.h"
#include "content/browser/webid/test/delegated_idp_network_request_manager.h"
#include "content/browser/webid/test/federated_auth_request_request_token_callback_helper.h"
#include "content/browser/webid/test/mock_api_permission_delegate.h"
#include "content/browser/webid/test/mock_auto_reauthn_permission_delegate.h"
#include "content/browser/webid/test/mock_identity_registry.h"
#include "content/browser/webid/test/mock_identity_request_dialog_controller.h"
#include "content/browser/webid/test/mock_idp_network_request_manager.h"
#include "content/browser/webid/test/mock_permission_delegate.h"
#include "content/browser/webid/webid_utils.h"
#include "content/common/content_navigation_policy.h"
#include "content/public/browser/identity_request_dialog_controller.h"
#include "content/public/common/content_features.h"
#include "content/public/test/back_forward_cache_util.h"
#include "content/test/test_render_frame_host.h"
#include "content/test/test_render_view_host.h"
#include "content/test/test_web_contents.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "net/http/http_status_code.h"
#include "services/metrics/public/cpp/ukm_builders.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/base/page_transition_types.h"
#include "ui/gfx/image/image_unittest_util.h"
#include "url/gurl.h"
#include "url/origin.h"
FederatedAuthRequestResult;
RequestTokenStatus;
AccountList;
ApiPermissionStatus;
AuthRequestCallbackHelper;
DismissReason;
FedCmEntry;
FedCmIdpEntry;
FetchStatus;
TokenError;
ParseStatus;
TokenStatus;
LoginState;
SignInMode;
SignInStateMatchStatus;
ErrorDialogType;
TokenResponseType;
ErrorUrlType;
_;
ElementsAre;
Eq;
Invoke;
NiceMock;
Optional;
Return;
StrictMock;
namespace content {
namespace {
constexpr char kProviderUrlFull[] = …;
constexpr char kRpUrl[] = …;
constexpr char kRpOtherUrl[] = …;
constexpr char kIdpUrl[] = …;
constexpr char kAccountsEndpoint[] = …;
constexpr char kCrossOriginAccountsEndpoint[] = …;
constexpr char kTokenEndpoint[] = …;
constexpr char kClientMetadataEndpoint[] = …;
constexpr char kMetricsEndpoint[] = …;
constexpr char kIdpLoginUrl[] = …;
constexpr char kIdpDisconnectUrl[] = …;
constexpr char kPrivacyPolicyUrl[] = …;
constexpr char kTermsOfServiceUrl[] = …;
constexpr char kRpBrandIconUrl[] = …;
constexpr char kClientId[] = …;
constexpr char kNonce[] = …;
constexpr char kAccountEmailNicolas[] = …;
constexpr char kAccountEmailPeter[] = …;
constexpr char kAccountEmailZach[] = …;
constexpr char kAccountId[] = …;
constexpr char kAccountIdNicolas[] = …;
constexpr char kAccountIdPeter[] = …;
constexpr char kAccountIdZach[] = …;
constexpr char kAccountPicture[] = …;
constexpr char kAccountPicture404[] = …;
constexpr int kAccountPictureSize = …;
constexpr char kEmail[] = …;
constexpr char kDomainHint[] = …;
constexpr char kOtherDomainHint[] = …;
constexpr char kToken[] = …;
constexpr char kEmptyToken[] = …;
constexpr char kAccountLabelNoMatchMessage[] = …;
constexpr char kLoginHintNoMatchMessage[] = …;
constexpr char kDomainHintNoMatchMessage[] = …;
static const std::vector<IdentityRequestAccount> kSingleAccount{ … };
static const std::vector<IdentityRequestAccount> kSingleAccountWithHint{ … };
static const std::vector<IdentityRequestAccount> kSingleAccountWithDomainHint{ … };
static const std::vector<IdentityRequestAccount> kTwoAccounts{ … };
static const std::vector<IdentityRequestAccount> kMultipleAccounts{ … };
static const std::vector<IdentityRequestAccount>
kMultipleAccountsWithHintsAndDomains{ … };
static const std::set<std::string> kWellKnown{ … };
struct IdentityProviderParameters { … };
struct RequestParameters { … };
struct RequestExpectations { … };
struct MockClientIdConfiguration { … };
struct MockWellKnown { … };
struct MockConfig { … };
struct MockIdpInfo { … };
enum class AccountsDialogAction { … };
enum class IdpSigninStatusMismatchDialogAction { … };
enum class ErrorDialogAction { … };
enum class LoadingDialogAction { … };
struct MockConfiguration { … };
static const MockClientIdConfiguration kDefaultClientMetadata{ … };
static const IdentityProviderParameters kDefaultIdentityProviderRequestOptions{ … };
static const RequestParameters kDefaultRequestParameters{ … };
static const MockIdpInfo kDefaultIdentityProviderInfo{ … };
static const base::flat_map<std::string, MockIdpInfo> kSingleProviderInfo{ … };
constexpr char kProviderTwoUrlFull[] = …;
static const MockIdpInfo kProviderTwoInfo{ … };
static const MockConfiguration kConfigurationValid{ … };
static const RequestExpectations kExpectationSuccess{ … };
static const RequestParameters kDefaultMultiIdpRequestParameters{ … };
MockConfiguration kConfigurationMultiIdpValid{ … };
url::Origin OriginFromString(const std::string& url_string) { … }
enum class FetchedEndpoint { … };
class TestIdpNetworkRequestManager : public MockIdpNetworkRequestManager { … };
class IdpNetworkRequestManagerParamChecker
: public TestIdpNetworkRequestManager { … };
class TestDialogController
: public NiceMock<MockIdentityRequestDialogController> { … };
class TestApiPermissionDelegate : public MockApiPermissionDelegate { … };
class TestPermissionDelegate : public NiceMock<MockPermissionDelegate> { … };
class TestAutoReauthnPermissionDelegate
: public MockAutoReauthnPermissionDelegate { … };
class TestIdentityRegistry : public NiceMock<MockIdentityRegistry> { … };
}
class FederatedAuthRequestImplTest : public RenderViewHostImplTestHarness { … };
TEST_F(FederatedAuthRequestImplTest, SuccessfulRequest) { … }
TEST_F(FederatedAuthRequestImplTest, WellKnownSuccess) { … }
TEST_F(FederatedAuthRequestImplTest, WellKnownNotInList) { … }
TEST_F(FederatedAuthRequestImplTest, WellKnownHasTooManyProviderUrls) { … }
TEST_F(FederatedAuthRequestImplTest, WellKnownEnforcementBypassed) { … }
TEST_F(FederatedAuthRequestImplTest, WellKnownHasNoFilename) { … }
TEST_F(FederatedAuthRequestImplTest, MissingTokenEndpoint) { … }
TEST_F(FederatedAuthRequestImplTest, MissingAccountsEndpoint) { … }
TEST_F(FederatedAuthRequestImplTest, MissingLoginURL) { … }
TEST_F(FederatedAuthRequestImplTest, MissingClientMetadataEndpoint) { … }
TEST_F(FederatedAuthRequestImplTest, AccountEndpointDifferentOriginIdp) { … }
TEST_F(FederatedAuthRequestImplTest, LoginUrlDifferentOriginIdp) { … }
TEST_F(FederatedAuthRequestImplTest, ProviderNotTrustworthy) { … }
TEST_F(FederatedAuthRequestImplTest, AccountEndpointCannotBeReached) { … }
TEST_F(FederatedAuthRequestImplTest, AccountsCannotBeParsed) { … }
TEST_F(FederatedAuthRequestImplTest, ClientMetadataNoUrls) { … }
TEST_F(FederatedAuthRequestImplTest, ClientMetadataNoPrivacyPolicyUrl) { … }
TEST_F(FederatedAuthRequestImplTest, ClientMetadataNoTermsOfServiceUrl) { … }
TEST_F(FederatedAuthRequestImplTest, ClientMetadataNoRpBrandIconUrl) { … }
TEST_F(FederatedAuthRequestImplTest, AllInvalidEndpoints) { … }
TEST_F(FederatedAuthRequestImplTest, LoginStateShouldBeSignUpForFirstTimeUser) { … }
TEST_F(FederatedAuthRequestImplTest, LoginStateShouldBeSignInForReturningUser) { … }
TEST_F(FederatedAuthRequestImplTest,
LoginStateSuccessfulSignUpGrantsSharingPermission) { … }
TEST_F(FederatedAuthRequestImplTest,
LoginStateFailedSignUpNotGrantSharingPermission) { … }
TEST_F(FederatedAuthRequestImplTest, ExplicitSigninEmbargo) { … }
TEST_F(FederatedAuthRequestImplTest, AutoReauthnEmbargo) { … }
TEST_F(FederatedAuthRequestImplTest,
AutoReauthnForSingleReturningUserSingleAccount) { … }
TEST_F(FederatedAuthRequestImplTest,
AutoReauthnForSingleReturningUserMultipleAccounts) { … }
TEST_F(FederatedAuthRequestImplTest,
AutoReauthnForMultipleReturningUsersMultipleAccounts) { … }
TEST_F(FederatedAuthRequestImplTest, AutoReauthnForZeroReturningUsers) { … }
TEST_F(FederatedAuthRequestImplTest,
AutoReauthnForSingleReturningUserWithoutSettingAutoReauthn) { … }
TEST_F(FederatedAuthRequestImplTest,
AutoReauthnForSingleReturningUserWithRequiresUserMediation) { … }
TEST_F(FederatedAuthRequestImplTest,
AutoReauthnForSingleReturningUserWithAutoSigninDisabled) { … }
TEST_F(FederatedAuthRequestImplTest,
AutoReauthnBrowserNotObservedSigninBefore) { … }
TEST_F(FederatedAuthRequestImplTest,
AutoReauthnBrowserNotObservedSigninButIdpHasThirdPartyCookiesAccess) { … }
TEST_F(FederatedAuthRequestImplTest, AutoReauthnForFirstTimeUser) { … }
TEST_F(FederatedAuthRequestImplTest,
AutoReauthnWithBlockedAutoReauthnPermissions) { … }
TEST_F(FederatedAuthRequestImplTest, AutoReauthnWithCooldown) { … }
TEST_F(FederatedAuthRequestImplTest,
AutoReauthnMediationSilentFailWithNoSharingPermission) { … }
TEST_F(FederatedAuthRequestImplTest,
AutoReauthnMediationSilentFailWithEmbargo) { … }
TEST_F(FederatedAuthRequestImplTest,
AutoReauthnMediationSilentFailWithRequiresUserMediation) { … }
TEST_F(FederatedAuthRequestImplTest,
AutoReauthnMediationSilentFailWithPasswordManagerAutoSigninDisabled) { … }
TEST_F(FederatedAuthRequestImplTest,
AutoReauthnMediationSilentFailWithTwoReturningAccounts) { … }
TEST_F(FederatedAuthRequestImplTest, AutoReauthnMediationRequired) { … }
TEST_F(FederatedAuthRequestImplTest, MetricsForSuccessfulSignInCase) { … }
TEST_F(FederatedAuthRequestImplTest, MetricsForUIExplicitlyDismissed) { … }
TEST_F(FederatedAuthRequestImplTest, UIIsIgnored) { … }
TEST_F(FederatedAuthRequestImplTest, MetricsForWebContentsVisible) { … }
TEST_F(FederatedAuthRequestImplTest, MetricsForWebContentsInvisible) { … }
TEST_F(FederatedAuthRequestImplTest, MetricsForFeatureIsDisabled) { … }
TEST_F(FederatedAuthRequestImplTest,
MetricsForFeatureIsDisabledNotDoubleCountedWithUnhandledRequest) { … }
TEST_F(FederatedAuthRequestImplTest,
MetricsForFeatureIsDisabledNotDoubleCountedWithAbortedRequest) { … }
TEST_F(FederatedAuthRequestImplTest, MetricsForSignedInOnBothIdpAndBrowser) { … }
TEST_F(FederatedAuthRequestImplTest, MetricsForNotSignedInOnBothIdpAndBrowser) { … }
TEST_F(FederatedAuthRequestImplTest, MetricsForOnlyIdpClaimedSignIn) { … }
TEST_F(FederatedAuthRequestImplTest, MetricsForOnlyBrowserObservedSignIn) { … }
TEST_F(FederatedAuthRequestImplTest, RequestEmbargo) { … }
TEST_F(FederatedAuthRequestImplTest, RemoveEmbargoOnUserConsent) { … }
TEST_F(FederatedAuthRequestImplTest, ApiBlockedForOrigin) { … }
TEST_F(FederatedAuthRequestImplTest, ApiBlockedForUnrelatedOrigin) { … }
class FederatedAuthRequestImplTestCancelConsistency
: public FederatedAuthRequestImplTest,
public ::testing::WithParamInterface<int> { … };
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(FederatedAuthRequestImplTestCancelConsistency, AccountNotSelected) { … }
namespace {
class DisableApiWhenDialogShownDialogController : public TestDialogController { … };
}
TEST_F(FederatedAuthRequestImplTest, ApiDisabledAfterAccountsDialogShown) { … }
TEST_F(FederatedAuthRequestImplTest, DisclosureTextShownForFirstTimeUser) { … }
TEST_F(FederatedAuthRequestImplTest, DisclosureTextNotShownForReturningUser) { … }
TEST_F(FederatedAuthRequestImplTest, TokenEndpointPostDataEscaping) { … }
TEST_F(FederatedAuthRequestImplTest, AutoSelectedFlagForNewUser) { … }
TEST_F(FederatedAuthRequestImplTest,
AutoSelectedFlagForReturningUserWithMediationRequired) { … }
TEST_F(FederatedAuthRequestImplTest,
AutoSelectedFlagForReturningUserWithMediationOptional) { … }
TEST_F(FederatedAuthRequestImplTest, AutoSelectedFlagIfInQuietPeriod) { … }
namespace {
class IdpNetworkRequestManagerClientMetadataTaskRunner
: public TestIdpNetworkRequestManager { … };
void NavigateToUrl(content::WebContents* web_contents, const GURL& url) { … }
}
TEST_F(FederatedAuthRequestImplTest,
NavigateDuringClientMetadataFetchBFCacheEnabled) { … }
TEST_F(FederatedAuthRequestImplTest,
NavigateDuringClientMetadataFetchBFCacheDisabled) { … }
TEST_F(FederatedAuthRequestImplTest, ReorderMultipleAccounts) { … }
TEST_F(FederatedAuthRequestImplTest, IdpSigninStatusTestFirstTimeFetchSuccess) { … }
TEST_F(FederatedAuthRequestImplTest,
IdpSigninStatusTestFirstTimeFetchNoFailureUi) { … }
TEST_F(FederatedAuthRequestImplTest, IdpSigninStatusTestShowFailureUi) { … }
TEST_F(FederatedAuthRequestImplTest,
IdpSigninStatusTestApiFailedIfUserNotSignedInWithIdp) { … }
namespace {
class ParseStatusOverrideIdpNetworkRequestManager
: public TestIdpNetworkRequestManager { … };
}
TEST_F(FederatedAuthRequestImplTest, FailureUiThenSuccessfulSignin) { … }
TEST_F(FederatedAuthRequestImplTest, FailureUiThenSuccessfulSigninButHidden) { … }
TEST_F(FederatedAuthRequestImplTest, FailureUiSigninFromDifferentIdp) { … }
TEST_F(FederatedAuthRequestImplTest, FailureUiAccountEndpointKeepsFailing) { … }
TEST_F(FederatedAuthRequestImplTest, FailureUiThenFailDifferentEndpoint) { … }
TEST_F(FederatedAuthRequestImplTest, IdpSigninStatusMetricsModeStaysSignedout) { … }
TEST_F(
FederatedAuthRequestImplTest,
IdpSigninStatusMetricsModeUndefinedTransitionsToSignedinWhenHaveAccounts) { … }
TEST_F(FederatedAuthRequestImplTest,
IdpSigninStatusMetricsModeTransitionsToSignedoutWhenNoAccounts) { … }
TEST_F(FederatedAuthRequestImplTest, MultiIdpDisabled) { … }
TEST_F(FederatedAuthRequestImplTest,
AllSuccessfulMultiIdpRequestWithoutIdpReorder) { … }
TEST_F(FederatedAuthRequestImplTest,
AllSuccessfulMultiIdpRequestWithIdpReorder) { … }
TEST_F(FederatedAuthRequestImplTest, FirstIdpWellKnownInvalid) { … }
TEST_F(FederatedAuthRequestImplTest, SecondIdpWellKnownInvalid) { … }
TEST_F(FederatedAuthRequestImplTest, AllWellKnownsInvalid) { … }
TEST_F(FederatedAuthRequestImplTest, DuplicateIdpMultiIdpRequest) { … }
TEST_F(FederatedAuthRequestImplTest, MultiIdpWithOneIdpSignedOut) { … }
TEST_F(FederatedAuthRequestImplTest, MultiIdpLoginToOneIdp) { … }
TEST_F(FederatedAuthRequestImplTest, MultiIdpWithAllIdpsMismatch) { … }
TEST_F(FederatedAuthRequestImplTest, MultiIdpWithOneIdpMismatch) { … }
TEST_F(FederatedAuthRequestImplTest,
MultiIdpWithSilentMediationAndReturningAccountInSecondIdp) { … }
TEST_F(FederatedAuthRequestImplTest,
MultiIdpWithSilentMediationAndReturningAccountInTwoIdps) { … }
TEST_F(FederatedAuthRequestImplTest,
MultiIdpWithSilentMediationAndOneIdpFetchFailure) { … }
TEST_F(FederatedAuthRequestImplTest, MultiIdpLoggedOut) { … }
TEST_F(FederatedAuthRequestImplTest, MultiIdpWithError) { … }
TEST_F(FederatedAuthRequestImplTest, TooManyRequests) { … }
TEST_F(FederatedAuthRequestImplTest,
ButtonModeTooManyRequestsWithNewWidgetFlow) { … }
TEST_F(FederatedAuthRequestImplTest,
ButtonModeTooManyRequestsWithNewButtonFlow) { … }
class IdpNetworkRequestMetricsRecorder : public TestIdpNetworkRequestManager { … };
TEST_F(FederatedAuthRequestImplTest, MetricsEndpointMultiIdp) { … }
TEST_F(FederatedAuthRequestImplTest, MetricsEndpointMultiIdpFail) { … }
TEST_F(FederatedAuthRequestImplTest, AccountsSortedWithTimestamps) { … }
TEST_F(FederatedAuthRequestImplTest, AccountLabelMultipleAccountsNoMatch) { … }
TEST_F(FederatedAuthRequestImplTest, AccountLabelMultipleAccountsOneMatch) { … }
TEST_F(FederatedAuthRequestImplTest, LoginHintSingleAccountIdMatch) { … }
TEST_F(FederatedAuthRequestImplTest, LoginHintSingleAccountEmailMatch) { … }
TEST_F(FederatedAuthRequestImplTest, LoginHintSingleAccountNoMatch) { … }
TEST_F(FederatedAuthRequestImplTest, LoginHintFirstAccountMatch) { … }
TEST_F(FederatedAuthRequestImplTest, LoginHintLastAccountMatch) { … }
TEST_F(FederatedAuthRequestImplTest, LoginHintMultipleAccountsNoMatch) { … }
TEST_F(FederatedAuthRequestImplTest, DomainHintSingleAccountMatch) { … }
TEST_F(FederatedAuthRequestImplTest, DomainHintSingleAccountStarMatch) { … }
TEST_F(FederatedAuthRequestImplTest, DomainHintSingleAccountStarNoMatch) { … }
TEST_F(FederatedAuthRequestImplTest, DomainHintSingleAccountNoMatch) { … }
TEST_F(FederatedAuthRequestImplTest, DomainHintNoMatch) { … }
TEST_F(FederatedAuthRequestImplTest, DomainHintMultipleAccountsSingleMatch) { … }
TEST_F(FederatedAuthRequestImplTest,
DomainHintMultipleAccountsMultipleMatches) { … }
TEST_F(FederatedAuthRequestImplTest, DomainHintMultipleAccountsStar) { … }
TEST_F(FederatedAuthRequestImplTest, DomainHintMultipleAccountsNoMatch) { … }
TEST_F(FederatedAuthRequestImplTest, PictureFetch) { … }
TEST_F(FederatedAuthRequestImplTest, PictureFetchMultipleAccounts) { … }
TEST_F(FederatedAuthRequestImplTest, RpContextIsSetToNonDefaultValue) { … }
TEST_F(FederatedAuthRequestImplTest, WellKnownInvalidContentType) { … }
TEST_F(FederatedAuthRequestImplTest, ConfigInvalidContentType) { … }
TEST_F(FederatedAuthRequestImplTest, ClientMetadataInvalidContentType) { … }
TEST_F(FederatedAuthRequestImplTest, AccountsInvalidContentType) { … }
TEST_F(FederatedAuthRequestImplTest, IdTokenInvalidContentType) { … }
TEST_F(FederatedAuthRequestImplTest, ScopeGetsIgnoredWhenAuthzIsDisabled) { … }
TEST_F(FederatedAuthRequestImplTest, SuccessfulAuthZRequestNoPopUpWindow) { … }
TEST_F(FederatedAuthRequestImplTest, SuccessfulAuthZRequestWithPopUpWindow) { … }
TEST_F(FederatedAuthRequestImplTest, ContinuationPopupCallingClose) { … }
TEST_F(FederatedAuthRequestImplTest,
FailsLoadingAContinueOnForADifferentOrigin) { … }
TEST_F(FederatedAuthRequestImplTest, RequestWithParameters) { … }
TEST_F(FederatedAuthRequestImplTest, RequestWithParametersAndScopes) { … }
TEST_F(FederatedAuthRequestImplTest,
SignInWhenSignedOutOnButtonModeWithUserActivation) { … }
TEST_F(FederatedAuthRequestImplTest, ButtonFlowRequiresUserActivation) { … }
TEST_F(FederatedAuthRequestImplTest, ButtonFlowWellKnownNotInList) { … }
TEST_F(FederatedAuthRequestImplTest, ButtonFlowWithUnknownLoginStatus) { … }
TEST_F(FederatedAuthRequestImplTest, ButtonFlowSkipsMismatchUI) { … }
TEST_F(FederatedAuthRequestImplTest, ButtonFlowShowsLoadingUI) { … }
TEST_F(FederatedAuthRequestImplTest, ButtonFlowDismissLoadingUI) { … }
TEST_F(FederatedAuthRequestImplTest, CloseModalDialogView) { … }
TEST_F(FederatedAuthRequestImplTest, ShouldNotMediateAuthz) { … }
TEST_F(FederatedAuthRequestImplTest, ShouldMediateAuthz) { … }
TEST_F(FederatedAuthRequestImplTest, ShouldMediateAuthzWithoutFeatureEnabled) { … }
class FederatedAuthRequestImplNewTabTest : public FederatedAuthRequestImplTest { … };
TEST_F(FederatedAuthRequestImplNewTabTest, SuccessfulFlow) { … }
class UserInfoCallbackHelper { … };
TEST_F(FederatedAuthRequestImplTest, RequestUserInfoFailure) { … }
TEST_F(FederatedAuthRequestImplTest, AccountsDialogShownMetric) { … }
TEST_F(FederatedAuthRequestImplTest, MismatchDialogShownMetric) { … }
TEST_F(FederatedAuthRequestImplTest, DoubleMismatchDialog) { … }
TEST_F(FederatedAuthRequestImplTest, AccountsRequestSentMetric) { … }
TEST_F(FederatedAuthRequestImplTest, AbortedAccountsDialogShownDurationMetric) { … }
TEST_F(FederatedAuthRequestImplTest, AbortedMismatchDialogShownDurationMetric) { … }
TEST_F(FederatedAuthRequestImplTest, RecordNumRequestsPerDocumentMetric) { … }
TEST_F(FederatedAuthRequestImplTest, InvalidResponseErrorDialogShown) { … }
TEST_F(FederatedAuthRequestImplTest, NoResponseErrorDialogShown) { … }
TEST_F(FederatedAuthRequestImplTest, ErrorUrlDisplayedWithProperUrl) { … }
TEST_F(FederatedAuthRequestImplTest, IdpSigninStatusCloseMismatchEmbargo) { … }
TEST_F(FederatedAuthRequestImplTest, IdpSigninStatusClosePopupEmbargo) { … }
TEST_F(FederatedAuthRequestImplTest, MaybeAddRegisteredProvidersEmptyList) { … }
TEST_F(FederatedAuthRequestImplTest, MaybeAddRegisteredProvidersNamed) { … }
TEST_F(FederatedAuthRequestImplTest, MaybeAddRegisteredProvidersAdded) { … }
TEST_F(FederatedAuthRequestImplTest,
MaybeAddRegisteredProvidersAllRequestsForRegisteredIdPsAreExpanded) { … }
TEST_F(FederatedAuthRequestImplTest,
MaybeAddRegisteredProvidersTwoRegisteredIdPs) { … }
TEST_F(FederatedAuthRequestImplTest,
MaybeAddRegisteredProvidersInsertedInline) { … }
TEST_F(FederatedAuthRequestImplTest, ErrorDialogTypeMetrics) { … }
TEST_F(FederatedAuthRequestImplTest, ErrorDialogResultMetrics) { … }
TEST_F(FederatedAuthRequestImplTest, TokenResponseTypeMetrics) { … }
TEST_F(FederatedAuthRequestImplTest, ErrorUrlTypeMetrics) { … }
TEST_F(FederatedAuthRequestImplTest, CrossSiteErrorDialogDevtoolsIssue) { … }
TEST_F(FederatedAuthRequestImplTest,
AccountUiNotDisplayedIfFedCmDisabledAfterAccountsFetch) { … }
TEST_F(FederatedAuthRequestImplTest, DomainHintInLoginUrl) { … }
TEST_F(FederatedAuthRequestImplTest, LoginHintInLoginUrl) { … }
TEST_F(FederatedAuthRequestImplTest, DomainHintAndLoginHintInLoginUrl) { … }
TEST_F(FederatedAuthRequestImplTest,
DomainHintAndLoginHintInLoginUrlWithQuery) { … }
TEST_F(FederatedAuthRequestImplTest, DomainHintAddAccount) { … }
TEST_F(FederatedAuthRequestImplTest, AutoReauthnInButtonMode) { … }
TEST_F(FederatedAuthRequestImplTest,
IdPClaimedSignUpTakesPrecedenceOverBrowserObservedSignIn) { … }
TEST_F(FederatedAuthRequestImplTest,
IdPClaimedSignInDoesNotAffectBrowserObservedSignUp) { … }
TEST_F(FederatedAuthRequestImplTest,
IdPClaimedSignInAffectsBrowserObservedSignUpWith3PCAccess) { … }
TEST_F(FederatedAuthRequestImplTest, ButtonFlowNotAffectedBySettings) { … }
TEST_F(FederatedAuthRequestImplTest, ButtonFlowNotAffectedByEmbargo) { … }
TEST_F(FederatedAuthRequestImplTest, ButtonFlowNotAffectEmbargo) { … }
TEST_F(FederatedAuthRequestImplTest,
BrandingWithTextColorAndNoBackgroundColor) { … }
TEST_F(FederatedAuthRequestImplTest,
BrandingWithInsufficientContrastTextColor) { … }
class FederatedAuthRequestExampleOrgTest : public FederatedAuthRequestImplTest { … };
TEST_F(FederatedAuthRequestExampleOrgTest, WellKnownSameSite) { … }
class TestDialogControllerWithImmediateDismiss : public TestDialogController { … };
TEST_F(FederatedAuthRequestImplTest, ImmediateDismiss) { … }
TEST_F(FederatedAuthRequestImplTest, FailureDialogImmediateDismiss) { … }
TEST_F(FederatedAuthRequestImplTest, UseOtherAccountAccountOrder) { … }
TEST_F(FederatedAuthRequestImplTest, UseOtherAccountMultipleNewAccounts) { … }
}