#include "services/network/trust_tokens/trust_token_request_helper_factory.h"
#include <memory>
#include <string_view>
#include <utility>
#include "base/metrics/histogram_functions.h"
#include "base/strings/strcat.h"
#include "net/base/isolation_info.h"
#include "net/log/net_log_event_type.h"
#include "net/log/net_log_with_source.h"
#include "net/url_request/url_request.h"
#include "services/network/public/cpp/resource_request.h"
#include "services/network/public/cpp/trust_token_http_headers.h"
#include "services/network/public/cpp/trust_token_parameterization.h"
#include "services/network/public/mojom/trust_tokens.mojom-shared.h"
#include "services/network/trust_tokens/boringssl_trust_token_issuance_cryptographer.h"
#include "services/network/trust_tokens/boringssl_trust_token_redemption_cryptographer.h"
#include "services/network/trust_tokens/operating_system_matching.h"
#include "services/network/trust_tokens/operation_timing_request_helper_wrapper.h"
#include "services/network/trust_tokens/suitable_trust_token_origin.h"
#include "services/network/trust_tokens/trust_token_key_commitment_controller.h"
#include "services/network/trust_tokens/trust_token_operation_metrics_recorder.h"
#include "services/network/trust_tokens/trust_token_parameterization.h"
#include "services/network/trust_tokens/trust_token_request_redemption_helper.h"
#include "services/network/trust_tokens/trust_token_request_signing_helper.h"
#include "services/network/trust_tokens/types.h"
namespace network {
namespace {
Outcome;
std::string_view OutcomeToString(Outcome outcome) { … }
void LogOutcome(const net::NetLogWithSource& log,
mojom::TrustTokenOperationType operation,
Outcome outcome) { … }
}
TrustTokenRequestHelperFactory::TrustTokenRequestHelperFactory(
PendingTrustTokenStore* store,
const TrustTokenKeyCommitmentGetter* key_commitment_getter,
base::RepeatingCallback<mojom::NetworkContextClient*(void)>
context_client_provider,
base::RepeatingCallback<bool(void)> authorizer)
: … { … }
TrustTokenRequestHelperFactory::~TrustTokenRequestHelperFactory() = default;
void TrustTokenRequestHelperFactory::CreateTrustTokenHelperForRequest(
const url::Origin& top_frame_origin,
const net::HttpRequestHeaders& headers,
const mojom::TrustTokenParams& params,
const net::NetLogWithSource& net_log,
base::OnceCallback<void(TrustTokenStatusOrRequestHelper)> done) { … }
void TrustTokenRequestHelperFactory::ConstructHelperUsingStore(
SuitableTrustTokenOrigin top_frame_origin,
mojom::TrustTokenParamsPtr params,
net::NetLogWithSource net_log,
base::OnceCallback<void(TrustTokenStatusOrRequestHelper)> done,
TrustTokenStore* store) { … }
TrustTokenStatusOrRequestHelper::TrustTokenStatusOrRequestHelper() = default;
TrustTokenStatusOrRequestHelper::TrustTokenStatusOrRequestHelper(
mojom::TrustTokenOperationStatus status)
: … { … }
TrustTokenStatusOrRequestHelper::TrustTokenStatusOrRequestHelper(
std::unique_ptr<TrustTokenRequestHelper> helper)
: … { … }
TrustTokenStatusOrRequestHelper::~TrustTokenStatusOrRequestHelper() = default;
TrustTokenStatusOrRequestHelper::TrustTokenStatusOrRequestHelper(
TrustTokenStatusOrRequestHelper&&) = default;
TrustTokenStatusOrRequestHelper& TrustTokenStatusOrRequestHelper::operator=(
TrustTokenStatusOrRequestHelper&&) = default;
}