chromium/content/browser/interest_group/auction_nonce_manager.cc

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

#include "content/browser/interest_group/auction_nonce_manager.h"

#include <memory>
#include <string>
#include <string_view>

#include "base/containers/contains.h"
#include "base/feature_list.h"
#include "base/uuid.h"
#include "content/browser/devtools/devtools_instrumentation.h"
#include "content/browser/renderer_host/render_frame_host_impl.h"
#include "third_party/blink/public/common/features_generated.h"

namespace content {

AuctionNonceManager::AuctionNonceManager(RenderFrameHostImpl* frame_host)
    :{}

AuctionNonceManager::~AuctionNonceManager() = default;

namespace {
// Returns true iff the first 30 characters of the two provided UUIDs are
// identical. Each UUID follows the standard structure of a UUIDv4, such that
// each is represented as a 36-character string of groups of hexadecimal digits
// separated by dashes. If either Uuid provided is not valid, this always return
// false.
bool HasIdenticalNoncePrefix(base::Uuid base_nonce, AuctionNonce nonce) {}

// Gets the three least significant bytes of the provided nonce and returns
// them as a uint32_t. This expects that the nonce was already verified to be
// valid.
uint32_t GetNonceSuffix(AuctionNonce nonce) {}
}  // namespace

bool AuctionNonceManager::ClaimAuctionNonceIfAvailable(AuctionNonce nonce) {}

}  // namespace content