#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif
#include "third_party/blink/public/mojom/webid/federated_auth_request.mojom.h"
#include <math.h>
#include <stdint.h>
#include <utility>
#include "base/debug/alias.h"
#include "base/hash/md5_constexpr.h"
#include "base/run_loop.h"
#include "base/strings/string_number_conversions.h"
#include "base/task/thread_pool/thread_pool_instance.h"
#include "base/trace_event/trace_event.h"
#include "base/trace_event/typed_macros.h"
#include "mojo/public/cpp/bindings/features.h"
#include "mojo/public/cpp/bindings/lib/default_construct_tag_internal.h"
#include "mojo/public/cpp/bindings/lib/generated_code_util.h"
#include "mojo/public/cpp/bindings/lib/message_internal.h"
#include "mojo/public/cpp/bindings/lib/proxy_to_responder.h"
#include "mojo/public/cpp/bindings/lib/send_message_helper.h"
#include "mojo/public/cpp/bindings/lib/serialization_util.h"
#include "mojo/public/cpp/bindings/lib/unserialized_message_context.h"
#include "mojo/public/cpp/bindings/lib/validate_params.h"
#include "mojo/public/cpp/bindings/lib/validation_errors.h"
#include "mojo/public/cpp/bindings/mojo_buildflags.h"
#include "mojo/public/cpp/bindings/urgent_message_scope.h"
#include "mojo/public/interfaces/bindings/interface_control_messages.mojom.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value.h"
#include "third_party/blink/public/mojom/webid/federated_auth_request.mojom-params-data.h"
#include "third_party/blink/public/mojom/webid/federated_auth_request.mojom-shared-message-ids.h"
#include "third_party/blink/public/mojom/webid/federated_auth_request.mojom-import-headers.h"
#include "third_party/blink/public/mojom/webid/federated_auth_request.mojom-test-utils.h"
namespace blink::mojom {
IdentityProviderConfig::IdentityProviderConfig()
: … { … }
IdentityProviderConfig::IdentityProviderConfig(
const ::GURL& config_url_in,
bool use_registered_config_urls_in,
const std::optional<std::string>& type_in,
const std::string& client_id_in)
: … { … }
IdentityProviderConfig::~IdentityProviderConfig() = default;
void IdentityProviderConfig::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool IdentityProviderConfig::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
IdentityProviderRequestOptions::IdentityProviderRequestOptions()
: … { … }
IdentityProviderRequestOptions::IdentityProviderRequestOptions(
IdentityProviderConfigPtr config_in,
const std::string& nonce_in,
const std::string& login_hint_in,
const std::string& domain_hint_in,
std::optional<std::vector<std::string>> fields_in,
const base::flat_map<std::string, std::string>& params_in)
: … { … }
IdentityProviderRequestOptions::~IdentityProviderRequestOptions() = default;
void IdentityProviderRequestOptions::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool IdentityProviderRequestOptions::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
IdentityCredentialDisconnectOptions::IdentityCredentialDisconnectOptions()
: … { … }
IdentityCredentialDisconnectOptions::IdentityCredentialDisconnectOptions(
IdentityProviderConfigPtr config_in,
const std::string& account_hint_in)
: … { … }
IdentityCredentialDisconnectOptions::~IdentityCredentialDisconnectOptions() = default;
void IdentityCredentialDisconnectOptions::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool IdentityCredentialDisconnectOptions::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
IdentityUserInfo::IdentityUserInfo()
: … { … }
IdentityUserInfo::IdentityUserInfo(
const std::string& email_in,
const std::string& given_name_in,
const std::string& name_in,
const std::string& picture_in)
: … { … }
IdentityUserInfo::~IdentityUserInfo() = default;
size_t IdentityUserInfo::Hash(size_t seed) const { … }
void IdentityUserInfo::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool IdentityUserInfo::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
IdentityProviderGetParameters::IdentityProviderGetParameters()
: … { … }
IdentityProviderGetParameters::IdentityProviderGetParameters(
std::vector<IdentityProviderRequestOptionsPtr> providers_in,
RpContext context_in,
RpMode mode_in)
: … { … }
IdentityProviderGetParameters::~IdentityProviderGetParameters() = default;
void IdentityProviderGetParameters::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool IdentityProviderGetParameters::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
TokenError::TokenError()
: … { … }
TokenError::TokenError(
const std::optional<std::string>& code_in,
const std::optional<std::string>& url_in)
: … { … }
TokenError::~TokenError() = default;
void TokenError::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool TokenError::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
const char FederatedAuthRequest::Name_[] = …;
FederatedAuthRequest::IPCStableHashFunction FederatedAuthRequest::MessageToMethodInfo_(mojo::Message& message) { … }
const char* FederatedAuthRequest::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t FederatedAuthRequest::RequestToken_Sym::IPCStableHash() { … }
uint32_t FederatedAuthRequest::RequestUserInfo_Sym::IPCStableHash() { … }
uint32_t FederatedAuthRequest::CancelTokenRequest_Sym::IPCStableHash() { … }
uint32_t FederatedAuthRequest::ResolveTokenRequest_Sym::IPCStableHash() { … }
uint32_t FederatedAuthRequest::SetIdpSigninStatus_Sym::IPCStableHash() { … }
uint32_t FederatedAuthRequest::RegisterIdP_Sym::IPCStableHash() { … }
uint32_t FederatedAuthRequest::UnregisterIdP_Sym::IPCStableHash() { … }
uint32_t FederatedAuthRequest::CloseModalDialogView_Sym::IPCStableHash() { … }
uint32_t FederatedAuthRequest::PreventSilentAccess_Sym::IPCStableHash() { … }
uint32_t FederatedAuthRequest::Disconnect_Sym::IPCStableHash() { … }
# endif
class FederatedAuthRequest_RequestToken_ForwardToCallback
: public mojo::MessageReceiver { … };
class FederatedAuthRequest_RequestUserInfo_ForwardToCallback
: public mojo::MessageReceiver { … };
class FederatedAuthRequest_ResolveTokenRequest_ForwardToCallback
: public mojo::MessageReceiver { … };
class FederatedAuthRequest_RegisterIdP_ForwardToCallback
: public mojo::MessageReceiver { … };
class FederatedAuthRequest_UnregisterIdP_ForwardToCallback
: public mojo::MessageReceiver { … };
class FederatedAuthRequest_PreventSilentAccess_ForwardToCallback
: public mojo::MessageReceiver { … };
class FederatedAuthRequest_Disconnect_ForwardToCallback
: public mojo::MessageReceiver { … };
FederatedAuthRequestProxy::FederatedAuthRequestProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void FederatedAuthRequestProxy::RequestToken(
std::vector<IdentityProviderGetParametersPtr> in_idp_get_params, ::password_manager::CredentialMediationRequirement in_requirement, RequestTokenCallback callback) { … }
void FederatedAuthRequestProxy::RequestUserInfo(
IdentityProviderConfigPtr in_provider, RequestUserInfoCallback callback) { … }
void FederatedAuthRequestProxy::CancelTokenRequest(
) { … }
void FederatedAuthRequestProxy::ResolveTokenRequest(
const std::optional<std::string>& in_account_id, const std::string& in_token, ResolveTokenRequestCallback callback) { … }
void FederatedAuthRequestProxy::SetIdpSigninStatus(
const ::url::Origin& in_origin, IdpSigninStatus in_status) { … }
void FederatedAuthRequestProxy::RegisterIdP(
const ::GURL& in_url, RegisterIdPCallback callback) { … }
void FederatedAuthRequestProxy::UnregisterIdP(
const ::GURL& in_url, UnregisterIdPCallback callback) { … }
void FederatedAuthRequestProxy::CloseModalDialogView(
) { … }
void FederatedAuthRequestProxy::PreventSilentAccess(
PreventSilentAccessCallback callback) { … }
void FederatedAuthRequestProxy::Disconnect(
IdentityCredentialDisconnectOptionsPtr in_options, DisconnectCallback callback) { … }
class FederatedAuthRequest_RequestToken_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool FederatedAuthRequest_RequestToken_ForwardToCallback::Accept(
mojo::Message* message) { … }
void FederatedAuthRequest_RequestToken_ProxyToResponder::Run(
RequestTokenStatus in_status, const std::optional<::GURL>& in_selected_identity_provider_config_url, const std::optional<std::string>& in_token, TokenErrorPtr in_error, bool in_is_auto_selected) { … }
class FederatedAuthRequest_RequestUserInfo_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool FederatedAuthRequest_RequestUserInfo_ForwardToCallback::Accept(
mojo::Message* message) { … }
void FederatedAuthRequest_RequestUserInfo_ProxyToResponder::Run(
RequestUserInfoStatus in_status, std::optional<std::vector<IdentityUserInfoPtr>> in_user_info) { … }
class FederatedAuthRequest_ResolveTokenRequest_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool FederatedAuthRequest_ResolveTokenRequest_ForwardToCallback::Accept(
mojo::Message* message) { … }
void FederatedAuthRequest_ResolveTokenRequest_ProxyToResponder::Run(
bool in_success) { … }
class FederatedAuthRequest_RegisterIdP_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool FederatedAuthRequest_RegisterIdP_ForwardToCallback::Accept(
mojo::Message* message) { … }
void FederatedAuthRequest_RegisterIdP_ProxyToResponder::Run(
RegisterIdpStatus in_status) { … }
class FederatedAuthRequest_UnregisterIdP_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool FederatedAuthRequest_UnregisterIdP_ForwardToCallback::Accept(
mojo::Message* message) { … }
void FederatedAuthRequest_UnregisterIdP_ProxyToResponder::Run(
bool in_success) { … }
class FederatedAuthRequest_PreventSilentAccess_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool FederatedAuthRequest_PreventSilentAccess_ForwardToCallback::Accept(
mojo::Message* message) { … }
void FederatedAuthRequest_PreventSilentAccess_ProxyToResponder::Run(
) { … }
class FederatedAuthRequest_Disconnect_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool FederatedAuthRequest_Disconnect_ForwardToCallback::Accept(
mojo::Message* message) { … }
void FederatedAuthRequest_Disconnect_ProxyToResponder::Run(
DisconnectStatus in_status) { … }
bool FederatedAuthRequestStubDispatch::Accept(
FederatedAuthRequest* impl,
mojo::Message* message) { … }
bool FederatedAuthRequestStubDispatch::AcceptWithResponder(
FederatedAuthRequest* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kFederatedAuthRequestValidationInfo[] = …;
bool FederatedAuthRequestRequestValidator::Accept(mojo::Message* message) { … }
bool FederatedAuthRequestResponseValidator::Accept(mojo::Message* message) { … }
}
namespace mojo {
bool StructTraits<::blink::mojom::IdentityProviderConfig::DataView, ::blink::mojom::IdentityProviderConfigPtr>::Read(
::blink::mojom::IdentityProviderConfig::DataView input,
::blink::mojom::IdentityProviderConfigPtr* output) { … }
bool StructTraits<::blink::mojom::IdentityProviderRequestOptions::DataView, ::blink::mojom::IdentityProviderRequestOptionsPtr>::Read(
::blink::mojom::IdentityProviderRequestOptions::DataView input,
::blink::mojom::IdentityProviderRequestOptionsPtr* output) { … }
bool StructTraits<::blink::mojom::IdentityCredentialDisconnectOptions::DataView, ::blink::mojom::IdentityCredentialDisconnectOptionsPtr>::Read(
::blink::mojom::IdentityCredentialDisconnectOptions::DataView input,
::blink::mojom::IdentityCredentialDisconnectOptionsPtr* output) { … }
bool StructTraits<::blink::mojom::IdentityUserInfo::DataView, ::blink::mojom::IdentityUserInfoPtr>::Read(
::blink::mojom::IdentityUserInfo::DataView input,
::blink::mojom::IdentityUserInfoPtr* output) { … }
bool StructTraits<::blink::mojom::IdentityProviderGetParameters::DataView, ::blink::mojom::IdentityProviderGetParametersPtr>::Read(
::blink::mojom::IdentityProviderGetParameters::DataView input,
::blink::mojom::IdentityProviderGetParametersPtr* output) { … }
bool StructTraits<::blink::mojom::TokenError::DataView, ::blink::mojom::TokenErrorPtr>::Read(
::blink::mojom::TokenError::DataView input,
::blink::mojom::TokenErrorPtr* output) { … }
}
namespace blink::mojom {
void FederatedAuthRequestInterceptorForTesting::RequestToken(std::vector<IdentityProviderGetParametersPtr> idp_get_params, ::password_manager::CredentialMediationRequirement requirement, RequestTokenCallback callback) { … }
void FederatedAuthRequestInterceptorForTesting::RequestUserInfo(IdentityProviderConfigPtr provider, RequestUserInfoCallback callback) { … }
void FederatedAuthRequestInterceptorForTesting::CancelTokenRequest() { … }
void FederatedAuthRequestInterceptorForTesting::ResolveTokenRequest(const std::optional<std::string>& account_id, const std::string& token, ResolveTokenRequestCallback callback) { … }
void FederatedAuthRequestInterceptorForTesting::SetIdpSigninStatus(const ::url::Origin& origin, IdpSigninStatus status) { … }
void FederatedAuthRequestInterceptorForTesting::RegisterIdP(const ::GURL& url, RegisterIdPCallback callback) { … }
void FederatedAuthRequestInterceptorForTesting::UnregisterIdP(const ::GURL& url, UnregisterIdPCallback callback) { … }
void FederatedAuthRequestInterceptorForTesting::CloseModalDialogView() { … }
void FederatedAuthRequestInterceptorForTesting::PreventSilentAccess(PreventSilentAccessCallback callback) { … }
void FederatedAuthRequestInterceptorForTesting::Disconnect(IdentityCredentialDisconnectOptionsPtr options, DisconnectCallback callback) { … }
FederatedAuthRequestAsyncWaiter::FederatedAuthRequestAsyncWaiter(
FederatedAuthRequest* proxy) : … { … }
FederatedAuthRequestAsyncWaiter::~FederatedAuthRequestAsyncWaiter() = default;
void FederatedAuthRequestAsyncWaiter::RequestToken(
std::vector<IdentityProviderGetParametersPtr> idp_get_params, ::password_manager::CredentialMediationRequirement requirement, RequestTokenStatus* out_status, std::optional<::GURL>* out_selected_identity_provider_config_url, std::optional<std::string>* out_token, TokenErrorPtr* out_error, bool* out_is_auto_selected) { … }
void FederatedAuthRequestAsyncWaiter::RequestUserInfo(
IdentityProviderConfigPtr provider, RequestUserInfoStatus* out_status, std::optional<std::vector<IdentityUserInfoPtr>>* out_user_info) { … }
void FederatedAuthRequestAsyncWaiter::ResolveTokenRequest(
const std::optional<std::string>& account_id, const std::string& token, bool* out_success) { … }
bool FederatedAuthRequestAsyncWaiter::ResolveTokenRequest(
const std::optional<std::string>& account_id, const std::string& token) { … }
void FederatedAuthRequestAsyncWaiter::RegisterIdP(
const ::GURL& url, RegisterIdpStatus* out_status) { … }
RegisterIdpStatus FederatedAuthRequestAsyncWaiter::RegisterIdP(
const ::GURL& url) { … }
void FederatedAuthRequestAsyncWaiter::UnregisterIdP(
const ::GURL& url, bool* out_success) { … }
bool FederatedAuthRequestAsyncWaiter::UnregisterIdP(
const ::GURL& url) { … }
void FederatedAuthRequestAsyncWaiter::PreventSilentAccess(
) { … }
void FederatedAuthRequestAsyncWaiter::Disconnect(
IdentityCredentialDisconnectOptionsPtr options, DisconnectStatus* out_status) { … }
DisconnectStatus FederatedAuthRequestAsyncWaiter::Disconnect(
IdentityCredentialDisconnectOptionsPtr options) { … }
}
#if defined(__clang__)
#pragma clang diagnostic pop
#endif