// 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. // Information about a Bidding and Auction server style auction. // https://github.com/WICG/turtledove/blob/main/FLEDGE_browser_bidding_and_auction_API.md dictionary AdAuctionOneSeller { required USVString seller; USVString coordinatorOrigin; }; dictionary AdAuctionDataBuyerConfig { unsigned long targetSize; }; dictionary AdAuctionDataConfig { // One of `seller` and `sellers` must be provided, but not both. // `coordinatorOrigin` can only be provided when `seller` is provided. // TODO(crbug.com/40278958): Make `coordinator` required when `seller` is // provided. USVString seller; USVString coordinatorOrigin; [RuntimeEnabled=FledgeBiddingAndAuctionServerAPIMultiSeller] sequence sellers; unsigned long requestSize; record perBuyerConfig; }; dictionary AdAuctionPerSellerData { required USVString seller; // Exactly one of `request` and `error` will be set, but not both. Uint8Array request; DOMString error; }; dictionary AdAuctionData { required USVString requestId; // Required When `AdAuctionDataConfig.seller` is provided. Uint8Array request; // Required When `AdAuctionDataConfig.sellers` is provided. [RuntimeEnabled=FledgeBiddingAndAuctionServerAPIMultiSeller] sequence requests; };