#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-private-field"
#endif
#include "content/services/auction_worklet/public/mojom/bidder_worklet.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 "content/services/auction_worklet/public/mojom/bidder_worklet.mojom-params-data.h"
#include "content/services/auction_worklet/public/mojom/bidder_worklet.mojom-shared-message-ids.h"
#include "content/services/auction_worklet/public/mojom/bidder_worklet.mojom-import-headers.h"
#include "content/services/auction_worklet/public/mojom/bidder_worklet.mojom-test-utils.h"
namespace auction_worklet::mojom {
PreviousWin::PreviousWin()
: … { … }
PreviousWin::PreviousWin(
::base::Time time_in,
const std::string& ad_json_in)
: … { … }
PreviousWin::~PreviousWin() = default;
void PreviousWin::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool PreviousWin::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
KAnonKey::KAnonKey()
: … { … }
KAnonKey::KAnonKey(
const std::string& data_in)
: … { … }
KAnonKey::~KAnonKey() = default;
size_t KAnonKey::Hash(size_t seed) const { … }
void KAnonKey::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool KAnonKey::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
BidderWorkletNonSharedParams::BidderWorkletNonSharedParams()
: … { … }
BidderWorkletNonSharedParams::BidderWorkletNonSharedParams(
const std::string& name_in,
::blink::mojom::InterestGroup::TrustedBiddingSignalsSlotSizeMode trusted_bidding_signals_slot_size_mode_in,
bool enable_bidding_signals_prioritization_in,
const std::optional<base::flat_map<std::string, double>>& priority_vector_in,
::blink::mojom::InterestGroup::ExecutionMode execution_mode_in,
const std::optional<::GURL>& update_url_in,
std::optional<std::vector<std::string>> trusted_bidding_signals_keys_in,
int32_t max_trusted_bidding_signals_url_length_in,
const std::optional<std::string>& user_bidding_signals_in,
std::optional<std::vector<::blink::InterestGroup::Ad>> ads_in,
std::optional<std::vector<::blink::InterestGroup::Ad>> ad_components_in,
std::vector<KAnonKeyPtr> kanon_keys_in)
: … { … }
BidderWorkletNonSharedParams::~BidderWorkletNonSharedParams() = default;
void BidderWorkletNonSharedParams::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool BidderWorkletNonSharedParams::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
BiddingBrowserSignals::BiddingBrowserSignals()
: … { … }
BiddingBrowserSignals::BiddingBrowserSignals(
int32_t join_count_in,
int32_t bid_count_in,
std::vector<PreviousWinPtr> prev_wins_in,
bool for_debugging_only_in_cooldown_or_lockout_in)
: … { … }
BiddingBrowserSignals::~BiddingBrowserSignals() = default;
void BiddingBrowserSignals::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool BiddingBrowserSignals::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
BidderWorkletBid::BidderWorkletBid()
: … { … }
BidderWorkletBid::BidderWorkletBid(
BidRole bid_role_in,
const std::string& ad_in,
double bid_in,
const std::optional<::blink::AdCurrency>& bid_currency_in,
std::optional<double> ad_cost_in,
const ::blink::AdDescriptor& ad_descriptor_in,
const std::optional<std::string>& selected_buyer_and_seller_reporting_id_in,
std::optional<std::vector<::blink::AdDescriptor>> ad_component_descriptors_in,
std::optional<uint16_t> modeling_signals_in,
::base::TimeDelta bid_duration_in)
: … { … }
BidderWorkletBid::~BidderWorkletBid() = default;
void BidderWorkletBid::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool BidderWorkletBid::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
PrioritySignalsDouble::PrioritySignalsDouble()
: … { … }
PrioritySignalsDouble::PrioritySignalsDouble(
double value_in)
: … { … }
PrioritySignalsDouble::~PrioritySignalsDouble() = default;
size_t PrioritySignalsDouble::Hash(size_t seed) const { … }
void PrioritySignalsDouble::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool PrioritySignalsDouble::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
GenerateBidDependencyLatencies::GenerateBidDependencyLatencies()
: … { … }
GenerateBidDependencyLatencies::GenerateBidDependencyLatencies(
std::optional<::base::TimeDelta> code_ready_latency_in,
std::optional<::base::TimeDelta> config_promises_latency_in,
std::optional<::base::TimeDelta> direct_from_seller_signals_latency_in,
std::optional<::base::TimeDelta> trusted_bidding_signals_latency_in,
::base::TimeTicks deps_wait_start_time_in,
::base::TimeTicks generate_bid_start_time_in,
::base::TimeTicks generate_bid_finish_time_in)
: … { … }
GenerateBidDependencyLatencies::~GenerateBidDependencyLatencies() = default;
void GenerateBidDependencyLatencies::WriteIntoTrace(
perfetto::TracedValue traced_context) const { … }
bool GenerateBidDependencyLatencies::Validate(
const void* data,
mojo::internal::ValidationContext* validation_context) { … }
const char GenerateBidClient::Name_[] = …;
GenerateBidClient::IPCStableHashFunction GenerateBidClient::MessageToMethodInfo_(mojo::Message& message) { … }
const char* GenerateBidClient::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t GenerateBidClient::OnBiddingSignalsReceived_Sym::IPCStableHash() { … }
uint32_t GenerateBidClient::OnGenerateBidComplete_Sym::IPCStableHash() { … }
# endif
class GenerateBidClient_OnBiddingSignalsReceived_ForwardToCallback
: public mojo::MessageReceiver { … };
GenerateBidClientProxy::GenerateBidClientProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void GenerateBidClientProxy::OnBiddingSignalsReceived(
const base::flat_map<std::string, double>& in_priority_vector, ::base::TimeDelta in_trusted_signals_fetch_latency, std::optional<::base::TimeDelta> in_update_if_older_than, OnBiddingSignalsReceivedCallback callback) { … }
void GenerateBidClientProxy::OnGenerateBidComplete(
std::vector<BidderWorkletBidPtr> in_bids, std::optional<uint32_t> in_bidding_signals_data_version, const std::optional<::GURL>& in_debug_loss_report_url, const std::optional<::GURL>& in_debug_win_report_url, std::optional<double> in_set_priority, base::flat_map<std::string, PrioritySignalsDoublePtr> in_update_priority_signals_overrides, std::vector<::auction_worklet::mojom::PrivateAggregationRequestPtr> in_pa_requests, std::vector<::auction_worklet::mojom::PrivateAggregationRequestPtr> in_non_kanon_pa_requests, std::vector<::auction_worklet::mojom::RealTimeReportingContributionPtr> in_real_time_contributions, ::base::TimeDelta in_bidding_latency, GenerateBidDependencyLatenciesPtr in_generate_bid_dependency_latencies, ::auction_worklet::mojom::RejectReason in_reject_reason, const std::vector<std::string>& in_errors) { … }
class GenerateBidClient_OnBiddingSignalsReceived_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool GenerateBidClient_OnBiddingSignalsReceived_ForwardToCallback::Accept(
mojo::Message* message) { … }
void GenerateBidClient_OnBiddingSignalsReceived_ProxyToResponder::Run(
) { … }
bool GenerateBidClientStubDispatch::Accept(
GenerateBidClient* impl,
mojo::Message* message) { … }
bool GenerateBidClientStubDispatch::AcceptWithResponder(
GenerateBidClient* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kGenerateBidClientValidationInfo[] = …;
bool GenerateBidClientRequestValidator::Accept(mojo::Message* message) { … }
bool GenerateBidClientResponseValidator::Accept(mojo::Message* message) { … }
const char GenerateBidFinalizer::Name_[] = …;
GenerateBidFinalizer::IPCStableHashFunction GenerateBidFinalizer::MessageToMethodInfo_(mojo::Message& message) { … }
const char* GenerateBidFinalizer::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t GenerateBidFinalizer::FinishGenerateBid_Sym::IPCStableHash() { … }
# endif
GenerateBidFinalizerProxy::GenerateBidFinalizerProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void GenerateBidFinalizerProxy::FinishGenerateBid(
const std::optional<std::string>& in_auction_signals_json, const std::optional<std::string>& in_per_buyer_signals_json, std::optional<::base::TimeDelta> in_per_buyer_timeout, const std::optional<::blink::AdCurrency>& in_expected_buyer_currency, const std::optional<::GURL>& in_direct_from_seller_per_buyer_signals, const std::optional<std::string>& in_direct_from_seller_per_buyer_signals_header_ad_slot, const std::optional<::GURL>& in_direct_from_seller_auction_signals, const std::optional<std::string>& in_direct_from_seller_auction_signals_header_ad_slot) { … }
bool GenerateBidFinalizerStubDispatch::Accept(
GenerateBidFinalizer* impl,
mojo::Message* message) { … }
bool GenerateBidFinalizerStubDispatch::AcceptWithResponder(
GenerateBidFinalizer* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kGenerateBidFinalizerValidationInfo[] = …;
bool GenerateBidFinalizerRequestValidator::Accept(mojo::Message* message) { … }
const char BidderWorklet::Name_[] = …;
BidderWorklet::IPCStableHashFunction BidderWorklet::MessageToMethodInfo_(mojo::Message& message) { … }
const char* BidderWorklet::MessageToMethodName_(mojo::Message& message) { … }
#if !BUILDFLAG(IS_FUCHSIA)
uint32_t BidderWorklet::BeginGenerateBid_Sym::IPCStableHash() { … }
uint32_t BidderWorklet::SendPendingSignalsRequests_Sym::IPCStableHash() { … }
uint32_t BidderWorklet::ReportWin_Sym::IPCStableHash() { … }
uint32_t BidderWorklet::ConnectDevToolsAgent_Sym::IPCStableHash() { … }
# endif
class BidderWorklet_ReportWin_ForwardToCallback
: public mojo::MessageReceiver { … };
BidderWorkletProxy::BidderWorkletProxy(mojo::MessageReceiverWithResponder* receiver)
: … { … }
void BidderWorkletProxy::BeginGenerateBid(
BidderWorkletNonSharedParamsPtr in_bidder_worklet_non_shared_params, KAnonymityBidMode in_kanon_mode, const ::url::Origin& in_interest_group_join_origin, const std::optional<::GURL>& in_direct_from_seller_per_buyer_signals, const std::optional<::GURL>& in_direct_from_seller_auction_signals, const ::url::Origin& in_browser_signal_seller_origin, const std::optional<::url::Origin>& in_browser_signal_top_level_seller_origin, ::base::TimeDelta in_browser_signal_recency, BiddingBrowserSignalsPtr in_bidding_browser_signals, ::base::Time in_auction_start_time, const std::optional<::blink::AdSize>& in_requested_ad_size, uint16_t in_multi_bid_limit, uint64_t in_trace_id, ::mojo::PendingAssociatedRemote<GenerateBidClient> in_generate_bid_client, ::mojo::PendingAssociatedReceiver<GenerateBidFinalizer> in_bid_finalizer) { … }
void BidderWorkletProxy::SendPendingSignalsRequests(
) { … }
void BidderWorkletProxy::ReportWin(
bool in_is_for_additional_bid, const std::optional<std::string>& in_interest_group_name_reporting_id, const std::optional<std::string>& in_buyer_reporting_id, const std::optional<std::string>& in_buyer_and_seller_reporting_id, const std::optional<std::string>& in_selected_buyer_and_seller_reporting_id, const std::optional<std::string>& in_auction_signals_json, const std::optional<std::string>& in_per_buyer_signals_json, const std::optional<::GURL>& in_direct_from_seller_per_buyer_signals, const std::optional<std::string>& in_direct_from_seller_per_buyer_signals_header_ad_slot, const std::optional<::GURL>& in_direct_from_seller_auction_signals, const std::optional<std::string>& in_direct_from_seller_auction_signals_header_ad_slot, const std::string& in_seller_signals_json, KAnonymityBidMode in_kanon_mode, bool in_bid_is_kanon, const ::GURL& in_browser_signal_render_url, double in_browser_signal_bid, const std::optional<::blink::AdCurrency>& in_browser_signal_bid_currency, double in_browser_signal_highest_scoring_other_bid, const std::optional<::blink::AdCurrency>& in_browser_signal_highest_scoring_other_bid_currency, bool in_browser_signal_made_highest_scoring_other_bid, std::optional<double> in_browser_signal_ad_cost, std::optional<uint16_t> in_browser_signal_modeling_signals, uint8_t in_browser_signal_join_count, uint8_t in_browser_signal_recency, const ::url::Origin& in_browser_signal_seller_origin, const std::optional<::url::Origin>& in_browser_signal_top_level_seller_origin, std::optional<::base::TimeDelta> in_browser_signal_reporting_timeout, std::optional<uint32_t> in_bidding_signals_data_version, uint64_t in_trace_id, ReportWinCallback callback) { … }
void BidderWorkletProxy::ConnectDevToolsAgent(
::mojo::PendingAssociatedReceiver<::blink::mojom::DevToolsAgent> in_agent, uint32_t in_thread_index) { … }
class BidderWorklet_ReportWin_ProxyToResponder : public ::mojo::internal::ProxyToResponder { … };
bool BidderWorklet_ReportWin_ForwardToCallback::Accept(
mojo::Message* message) { … }
void BidderWorklet_ReportWin_ProxyToResponder::Run(
const std::optional<::GURL>& in_report_url, const base::flat_map<std::string, ::GURL>& in_ad_beacon_map, const base::flat_map<std::string, std::string>& in_ad_macro_map, std::vector<::auction_worklet::mojom::PrivateAggregationRequestPtr> in_pa_requests, ::base::TimeDelta in_reporting_latency, const std::vector<std::string>& in_errors) { … }
bool BidderWorkletStubDispatch::Accept(
BidderWorklet* impl,
mojo::Message* message) { … }
bool BidderWorkletStubDispatch::AcceptWithResponder(
BidderWorklet* impl,
mojo::Message* message,
std::unique_ptr<mojo::MessageReceiverWithStatus> responder) { … }
namespace {
}
static const mojo::internal::GenericValidationInfo kBidderWorkletValidationInfo[] = …;
bool BidderWorkletRequestValidator::Accept(mojo::Message* message) { … }
bool BidderWorkletResponseValidator::Accept(mojo::Message* message) { … }
}
namespace mojo {
bool StructTraits<::auction_worklet::mojom::PreviousWin::DataView, ::auction_worklet::mojom::PreviousWinPtr>::Read(
::auction_worklet::mojom::PreviousWin::DataView input,
::auction_worklet::mojom::PreviousWinPtr* output) { … }
bool StructTraits<::auction_worklet::mojom::KAnonKey::DataView, ::auction_worklet::mojom::KAnonKeyPtr>::Read(
::auction_worklet::mojom::KAnonKey::DataView input,
::auction_worklet::mojom::KAnonKeyPtr* output) { … }
bool StructTraits<::auction_worklet::mojom::BidderWorkletNonSharedParams::DataView, ::auction_worklet::mojom::BidderWorkletNonSharedParamsPtr>::Read(
::auction_worklet::mojom::BidderWorkletNonSharedParams::DataView input,
::auction_worklet::mojom::BidderWorkletNonSharedParamsPtr* output) { … }
bool StructTraits<::auction_worklet::mojom::BiddingBrowserSignals::DataView, ::auction_worklet::mojom::BiddingBrowserSignalsPtr>::Read(
::auction_worklet::mojom::BiddingBrowserSignals::DataView input,
::auction_worklet::mojom::BiddingBrowserSignalsPtr* output) { … }
bool StructTraits<::auction_worklet::mojom::BidderWorkletBid::DataView, ::auction_worklet::mojom::BidderWorkletBidPtr>::Read(
::auction_worklet::mojom::BidderWorkletBid::DataView input,
::auction_worklet::mojom::BidderWorkletBidPtr* output) { … }
bool StructTraits<::auction_worklet::mojom::PrioritySignalsDouble::DataView, ::auction_worklet::mojom::PrioritySignalsDoublePtr>::Read(
::auction_worklet::mojom::PrioritySignalsDouble::DataView input,
::auction_worklet::mojom::PrioritySignalsDoublePtr* output) { … }
bool StructTraits<::auction_worklet::mojom::GenerateBidDependencyLatencies::DataView, ::auction_worklet::mojom::GenerateBidDependencyLatenciesPtr>::Read(
::auction_worklet::mojom::GenerateBidDependencyLatencies::DataView input,
::auction_worklet::mojom::GenerateBidDependencyLatenciesPtr* output) { … }
}
namespace auction_worklet::mojom {
void GenerateBidClientInterceptorForTesting::OnBiddingSignalsReceived(const base::flat_map<std::string, double>& priority_vector, ::base::TimeDelta trusted_signals_fetch_latency, std::optional<::base::TimeDelta> update_if_older_than, OnBiddingSignalsReceivedCallback callback) { … }
void GenerateBidClientInterceptorForTesting::OnGenerateBidComplete(std::vector<BidderWorkletBidPtr> bids, std::optional<uint32_t> bidding_signals_data_version, const std::optional<::GURL>& debug_loss_report_url, const std::optional<::GURL>& debug_win_report_url, std::optional<double> set_priority, base::flat_map<std::string, PrioritySignalsDoublePtr> update_priority_signals_overrides, std::vector<::auction_worklet::mojom::PrivateAggregationRequestPtr> pa_requests, std::vector<::auction_worklet::mojom::PrivateAggregationRequestPtr> non_kanon_pa_requests, std::vector<::auction_worklet::mojom::RealTimeReportingContributionPtr> real_time_contributions, ::base::TimeDelta bidding_latency, GenerateBidDependencyLatenciesPtr generate_bid_dependency_latencies, ::auction_worklet::mojom::RejectReason reject_reason, const std::vector<std::string>& errors) { … }
GenerateBidClientAsyncWaiter::GenerateBidClientAsyncWaiter(
GenerateBidClient* proxy) : … { … }
GenerateBidClientAsyncWaiter::~GenerateBidClientAsyncWaiter() = default;
void GenerateBidClientAsyncWaiter::OnBiddingSignalsReceived(
const base::flat_map<std::string, double>& priority_vector, ::base::TimeDelta trusted_signals_fetch_latency, std::optional<::base::TimeDelta> update_if_older_than) { … }
void GenerateBidFinalizerInterceptorForTesting::FinishGenerateBid(const std::optional<std::string>& auction_signals_json, const std::optional<std::string>& per_buyer_signals_json, std::optional<::base::TimeDelta> per_buyer_timeout, const std::optional<::blink::AdCurrency>& expected_buyer_currency, const std::optional<::GURL>& direct_from_seller_per_buyer_signals, const std::optional<std::string>& direct_from_seller_per_buyer_signals_header_ad_slot, const std::optional<::GURL>& direct_from_seller_auction_signals, const std::optional<std::string>& direct_from_seller_auction_signals_header_ad_slot) { … }
GenerateBidFinalizerAsyncWaiter::GenerateBidFinalizerAsyncWaiter(
GenerateBidFinalizer* proxy) : … { … }
GenerateBidFinalizerAsyncWaiter::~GenerateBidFinalizerAsyncWaiter() = default;
void BidderWorkletInterceptorForTesting::BeginGenerateBid(BidderWorkletNonSharedParamsPtr bidder_worklet_non_shared_params, KAnonymityBidMode kanon_mode, const ::url::Origin& interest_group_join_origin, const std::optional<::GURL>& direct_from_seller_per_buyer_signals, const std::optional<::GURL>& direct_from_seller_auction_signals, const ::url::Origin& browser_signal_seller_origin, const std::optional<::url::Origin>& browser_signal_top_level_seller_origin, ::base::TimeDelta browser_signal_recency, BiddingBrowserSignalsPtr bidding_browser_signals, ::base::Time auction_start_time, const std::optional<::blink::AdSize>& requested_ad_size, uint16_t multi_bid_limit, uint64_t trace_id, ::mojo::PendingAssociatedRemote<GenerateBidClient> generate_bid_client, ::mojo::PendingAssociatedReceiver<GenerateBidFinalizer> bid_finalizer) { … }
void BidderWorkletInterceptorForTesting::SendPendingSignalsRequests() { … }
void BidderWorkletInterceptorForTesting::ReportWin(bool is_for_additional_bid, const std::optional<std::string>& interest_group_name_reporting_id, const std::optional<std::string>& buyer_reporting_id, const std::optional<std::string>& buyer_and_seller_reporting_id, const std::optional<std::string>& selected_buyer_and_seller_reporting_id, const std::optional<std::string>& auction_signals_json, const std::optional<std::string>& per_buyer_signals_json, const std::optional<::GURL>& direct_from_seller_per_buyer_signals, const std::optional<std::string>& direct_from_seller_per_buyer_signals_header_ad_slot, const std::optional<::GURL>& direct_from_seller_auction_signals, const std::optional<std::string>& direct_from_seller_auction_signals_header_ad_slot, const std::string& seller_signals_json, KAnonymityBidMode kanon_mode, bool bid_is_kanon, const ::GURL& browser_signal_render_url, double browser_signal_bid, const std::optional<::blink::AdCurrency>& browser_signal_bid_currency, double browser_signal_highest_scoring_other_bid, const std::optional<::blink::AdCurrency>& browser_signal_highest_scoring_other_bid_currency, bool browser_signal_made_highest_scoring_other_bid, std::optional<double> browser_signal_ad_cost, std::optional<uint16_t> browser_signal_modeling_signals, uint8_t browser_signal_join_count, uint8_t browser_signal_recency, const ::url::Origin& browser_signal_seller_origin, const std::optional<::url::Origin>& browser_signal_top_level_seller_origin, std::optional<::base::TimeDelta> browser_signal_reporting_timeout, std::optional<uint32_t> bidding_signals_data_version, uint64_t trace_id, ReportWinCallback callback) { … }
void BidderWorkletInterceptorForTesting::ConnectDevToolsAgent(::mojo::PendingAssociatedReceiver<::blink::mojom::DevToolsAgent> agent, uint32_t thread_index) { … }
BidderWorkletAsyncWaiter::BidderWorkletAsyncWaiter(
BidderWorklet* proxy) : … { … }
BidderWorkletAsyncWaiter::~BidderWorkletAsyncWaiter() = default;
void BidderWorkletAsyncWaiter::ReportWin(
bool is_for_additional_bid, const std::optional<std::string>& interest_group_name_reporting_id, const std::optional<std::string>& buyer_reporting_id, const std::optional<std::string>& buyer_and_seller_reporting_id, const std::optional<std::string>& selected_buyer_and_seller_reporting_id, const std::optional<std::string>& auction_signals_json, const std::optional<std::string>& per_buyer_signals_json, const std::optional<::GURL>& direct_from_seller_per_buyer_signals, const std::optional<std::string>& direct_from_seller_per_buyer_signals_header_ad_slot, const std::optional<::GURL>& direct_from_seller_auction_signals, const std::optional<std::string>& direct_from_seller_auction_signals_header_ad_slot, const std::string& seller_signals_json, KAnonymityBidMode kanon_mode, bool bid_is_kanon, const ::GURL& browser_signal_render_url, double browser_signal_bid, const std::optional<::blink::AdCurrency>& browser_signal_bid_currency, double browser_signal_highest_scoring_other_bid, const std::optional<::blink::AdCurrency>& browser_signal_highest_scoring_other_bid_currency, bool browser_signal_made_highest_scoring_other_bid, std::optional<double> browser_signal_ad_cost, std::optional<uint16_t> browser_signal_modeling_signals, uint8_t browser_signal_join_count, uint8_t browser_signal_recency, const ::url::Origin& browser_signal_seller_origin, const std::optional<::url::Origin>& browser_signal_top_level_seller_origin, std::optional<::base::TimeDelta> browser_signal_reporting_timeout, std::optional<uint32_t> bidding_signals_data_version, uint64_t trace_id, std::optional<::GURL>* out_report_url, base::flat_map<std::string, ::GURL>* out_ad_beacon_map, base::flat_map<std::string, std::string>* out_ad_macro_map, std::vector<::auction_worklet::mojom::PrivateAggregationRequestPtr>* out_pa_requests, ::base::TimeDelta* out_reporting_latency, std::vector<std::string>* out_errors) { … }
}
#if defined(__clang__)
#pragma clang diagnostic pop
#endif