#include "content/browser/devtools/protocol/fedcm_handler.h"
#include <optional>
#include "base/strings/string_number_conversions.h"
#include "content/browser/renderer_host/render_frame_host_impl.h"
#include "content/browser/webid/federated_auth_request_impl.h"
#include "content/browser/webid/federated_auth_request_page_data.h"
#include "content/public/browser/federated_identity_api_permission_context_delegate.h"
#include "content/public/browser/identity_request_dialog_controller.h"
namespace content {
namespace {
FedCm;
FedCm::DialogType ConvertDialogType(
content::FederatedAuthRequestImpl::DialogType type) { … }
std::optional<std::pair<IdentityProviderData, IdentityRequestAccount>>
GetAccountAt(const std::vector<IdentityProviderData>& idp_data, int index) { … }
}
namespace protocol {
FedCmHandler::FedCmHandler()
: … { … }
FedCmHandler::~FedCmHandler() = default;
std::vector<FedCmHandler*> FedCmHandler::ForAgentHost(
DevToolsAgentHostImpl* host) { … }
void FedCmHandler::SetRenderer(int process_host_id,
RenderFrameHostImpl* frame_host) { … }
void FedCmHandler::Wire(UberDispatcher* dispatcher) { … }
DispatchResponse FedCmHandler::Enable(Maybe<bool> in_disableRejectionDelay) { … }
DispatchResponse FedCmHandler::Disable() { … }
void FedCmHandler::DidShowDialog() { … }
void FedCmHandler::DidCloseDialog() { … }
DispatchResponse FedCmHandler::SelectAccount(const String& in_dialogId,
int in_accountIndex) { … }
DispatchResponse FedCmHandler::OpenUrl(
const String& in_dialogId,
int in_accountIndex,
const FedCm::AccountUrlType& in_accountUrlType) { … }
DispatchResponse FedCmHandler::ClickDialogButton(
const String& in_dialogId,
const FedCm::DialogButton& in_dialogButton) { … }
DispatchResponse FedCmHandler::DismissDialog(const String& in_dialogId,
Maybe<bool> in_triggerCooldown) { … }
DispatchResponse FedCmHandler::ResetCooldown() { … }
url::Origin FedCmHandler::GetEmbeddingOrigin() { … }
FederatedAuthRequestPageData* FedCmHandler::GetPageData() { … }
FederatedAuthRequestImpl* FedCmHandler::GetFederatedAuthRequest() { … }
const std::vector<IdentityProviderData>* FedCmHandler::GetIdentityProviderData(
FederatedAuthRequestImpl* auth_request) { … }
FederatedIdentityApiPermissionContextDelegate*
FedCmHandler::GetApiPermissionContext() { … }
}
}