chromium/third_party/blink/common/interest_group/auction_config_mojom_traits.cc

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/blink/public/common/interest_group/auction_config_mojom_traits.h"

#include <cmath>
#include <optional>
#include <string>

#include "base/containers/contains.h"
#include "base/containers/flat_map.h"
#include "base/containers/flat_set.h"
#include "base/strings/escape.h"
#include "base/strings/string_util.h"
#include "base/time/time.h"
#include "base/uuid.h"
#include "third_party/abseil-cpp/absl/types/variant.h"
#include "third_party/blink/public/common/interest_group/auction_config.h"
#include "third_party/blink/public/mojom/interest_group/interest_group_types.mojom-shared.h"
#include "third_party/blink/public/mojom/interest_group/interest_group_types.mojom.h"
#include "url/gurl.h"
#include "url/origin.h"
#include "url/url_constants.h"

namespace mojo {

namespace {

// Validates no key in `buyer_priority_signals` starts with "browserSignals.",
// which are reserved for values set by the browser.
bool AreBuyerPrioritySignalsValid(
    const base::flat_map<std::string, double>& buyer_priority_signals) {}

}  // namespace

bool StructTraits<blink::mojom::DirectFromSellerSignalsSubresourceDataView,
                  blink::DirectFromSellerSignalsSubresource>::
    Read(blink::mojom::DirectFromSellerSignalsSubresourceDataView data,
         blink::DirectFromSellerSignalsSubresource* out) {}

bool StructTraits<blink::mojom::DirectFromSellerSignalsDataView,
                  blink::DirectFromSellerSignals>::
    Read(blink::mojom::DirectFromSellerSignalsDataView data,
         blink::DirectFromSellerSignals* out) {}

template <class View, class Wrapper>
bool AdConfigMaybePromiseTraitsHelper<View, Wrapper>::Read(View in,
                                                           Wrapper* out) {}

template struct BLINK_COMMON_EXPORT AdConfigMaybePromiseTraitsHelper<
    blink::mojom::AuctionAdConfigMaybePromiseJsonDataView,
    blink::AuctionConfig::MaybePromiseJson>;

template struct BLINK_COMMON_EXPORT AdConfigMaybePromiseTraitsHelper<
    blink::mojom::AuctionAdConfigMaybePromisePerBuyerSignalsDataView,
    blink::AuctionConfig::MaybePromisePerBuyerSignals>;

template struct BLINK_COMMON_EXPORT AdConfigMaybePromiseTraitsHelper<
    blink::mojom::AuctionAdConfigMaybePromiseBuyerTimeoutsDataView,
    blink::AuctionConfig::MaybePromiseBuyerTimeouts>;

template struct BLINK_COMMON_EXPORT AdConfigMaybePromiseTraitsHelper<
    blink::mojom::AuctionAdConfigMaybePromiseBuyerCurrenciesDataView,
    blink::AuctionConfig::MaybePromiseBuyerCurrencies>;

template struct BLINK_COMMON_EXPORT AdConfigMaybePromiseTraitsHelper<
    blink::mojom::AuctionAdConfigMaybePromiseDirectFromSellerSignalsDataView,
    blink::AuctionConfig::MaybePromiseDirectFromSellerSignals>;

template struct BLINK_COMMON_EXPORT AdConfigMaybePromiseTraitsHelper<
    blink::mojom::
        AuctionAdConfigMaybePromiseDeprecatedRenderURLReplacementsDataView,
    blink::AuctionConfig::MaybePromiseDeprecatedRenderURLReplacements>;

bool StructTraits<blink::mojom::AuctionAdConfigBuyerTimeoutsDataView,
                  blink::AuctionConfig::BuyerTimeouts>::
    Read(blink::mojom::AuctionAdConfigBuyerTimeoutsDataView data,
         blink::AuctionConfig::BuyerTimeouts* out) {}

bool StructTraits<blink::mojom::AdKeywordReplacementDataView,
                  blink::AuctionConfig::AdKeywordReplacement>::
    Read(blink::mojom::AdKeywordReplacementDataView data,
         blink::AuctionConfig::AdKeywordReplacement* out) {}

bool StructTraits<blink::mojom::AdCurrencyDataView, blink::AdCurrency>::Read(
    blink::mojom::AdCurrencyDataView data,
    blink::AdCurrency* out) {}

bool StructTraits<blink::mojom::AuctionAdConfigBuyerCurrenciesDataView,
                  blink::AuctionConfig::BuyerCurrencies>::
    Read(blink::mojom::AuctionAdConfigBuyerCurrenciesDataView data,
         blink::AuctionConfig::BuyerCurrencies* out) {}

bool StructTraits<
    blink::mojom::AuctionReportBuyersConfigDataView,
    blink::AuctionConfig::NonSharedParams::AuctionReportBuyersConfig>::
    Read(
        blink::mojom::AuctionReportBuyersConfigDataView data,
        blink::AuctionConfig::NonSharedParams::AuctionReportBuyersConfig* out) {}

bool StructTraits<
    blink::mojom::AuctionReportBuyerDebugModeConfigDataView,
    blink::AuctionConfig::NonSharedParams::AuctionReportBuyerDebugModeConfig>::
    Read(blink::mojom::AuctionReportBuyerDebugModeConfigDataView data,
         blink::AuctionConfig::NonSharedParams::
             AuctionReportBuyerDebugModeConfig* out) {}

bool StructTraits<blink::mojom::AuctionAdServerResponseConfigDataView,
                  blink::AuctionConfig::ServerResponseConfig>::
    Read(blink::mojom::AuctionAdServerResponseConfigDataView data,
         blink::AuctionConfig::ServerResponseConfig* out) {}

bool StructTraits<blink::mojom::AuctionAdConfigNonSharedParamsDataView,
                  blink::AuctionConfig::NonSharedParams>::
    Read(blink::mojom::AuctionAdConfigNonSharedParamsDataView data,
         blink::AuctionConfig::NonSharedParams* out) {}

bool StructTraits<blink::mojom::AuctionAdConfigDataView, blink::AuctionConfig>::
    Read(blink::mojom::AuctionAdConfigDataView data,
         blink::AuctionConfig* out) {}

}  // namespace mojo