@@ -15,6 +15,7 @@ dictionary AuctionAd {
15
15
16
16
USVString buyerReportingId;
17
17
USVString buyerAndSellerReportingId;
18
+ sequence<USVString> selectableBuyerAndSellerReportingIds;
18
19
sequence<USVString> allowedReportingOrigins;
19
20
DOMString adRenderId;
20
21
};
@@ -47,11 +48,16 @@ dictionary GenerateBidInterestGroup {
47
48
record<DOMString, sequence<DOMString>> sizeGroups;
48
49
};
49
50
51
+ dictionary ProtectedAudiencePrivateAggregationConfig {
52
+ USVString aggregationCoordinatorOrigin;
53
+ };
54
+
50
55
dictionary AuctionAdInterestGroup : GenerateBidInterestGroup {
51
56
double priority = 0.0;
52
57
record<DOMString, double> prioritySignalsOverrides;
53
58
required double lifetimeMs;
54
59
DOMString additionalBidKey;
60
+ ProtectedAudiencePrivateAggregationConfig privateAggregationConfig;
55
61
};
56
62
57
63
[SecureContext]
@@ -76,6 +82,18 @@ partial interface Navigator {
76
82
readonly attribute boolean deprecatedRunAdAuctionEnforcesKAnonymity;
77
83
};
78
84
85
+ dictionary AuctionReportBuyersConfig {
86
+ required bigint bucket;
87
+ required double scale;
88
+ };
89
+
90
+ dictionary AuctionReportBuyerDebugModeConfig {
91
+ boolean enabled = false;
92
+
93
+ // Must only be provided if `enabled` is true.
94
+ bigint? debugKey;
95
+ };
96
+
79
97
dictionary AuctionRealTimeReportingConfig {
80
98
required DOMString type;
81
99
};
@@ -89,21 +107,27 @@ dictionary AuctionAdConfig {
89
107
sequence<USVString> interestGroupBuyers;
90
108
Promise<any> auctionSignals;
91
109
Promise<any> sellerSignals;
92
- Promise<DOMString> directFromSellerSignalsHeaderAdSlot;
93
- Promise<record<USVString, USVString>> deprecatedRenderURLReplacements;
110
+ Promise<DOMString? > directFromSellerSignalsHeaderAdSlot;
111
+ Promise<record<USVString, USVString>? > deprecatedRenderURLReplacements;
94
112
unsigned long long sellerTimeout;
95
113
unsigned short sellerExperimentGroupId;
96
- Promise<record<USVString, any>> perBuyerSignals;
97
- Promise<record<USVString, unsigned long long>> perBuyerTimeouts;
98
- Promise<record<USVString, unsigned long long>> perBuyerCumulativeTimeouts;
114
+ Promise<record<USVString, any>? > perBuyerSignals;
115
+ Promise<record<USVString, unsigned long long>? > perBuyerTimeouts;
116
+ Promise<record<USVString, unsigned long long>? > perBuyerCumulativeTimeouts;
99
117
unsigned long long reportingTimeout;
100
118
USVString sellerCurrency;
101
- Promise<record<USVString, USVString>> perBuyerCurrencies;
119
+ Promise<record<USVString, USVString>? > perBuyerCurrencies;
102
120
record<USVString, unsigned short> perBuyerMultiBidLimits;
103
121
record<USVString, unsigned short> perBuyerGroupLimits;
104
122
record<USVString, unsigned short> perBuyerExperimentGroupIds;
105
123
record<USVString, record<USVString, double>> perBuyerPrioritySignals;
124
+
125
+ sequence<bigint> auctionReportBuyerKeys;
126
+ record<DOMString, AuctionReportBuyersConfig> auctionReportBuyers;
127
+ AuctionReportBuyerDebugModeConfig auctionReportBuyerDebugModeConfig;
106
128
sequence<DOMString> requiredSellerCapabilities;
129
+ ProtectedAudiencePrivateAggregationConfig privateAggregationConfig;
130
+
107
131
record<DOMString, DOMString> requestedSize;
108
132
sequence<record<DOMString, DOMString>> allSlotsRequestedSizes;
109
133
Promise<undefined> additionalBids;
@@ -144,13 +168,44 @@ dictionary AdAuctionDataBuyerConfig {
144
168
unsigned long targetSize;
145
169
};
146
170
171
+ dictionary StorageInterestGroup : AuctionAdInterestGroup {
172
+ unsigned long long joinCount;
173
+ unsigned long long bidCount;
174
+ sequence<PreviousWin> prevWinsMs;
175
+ USVString joiningOrigin;
176
+ long long timeSinceGroupJoinedMs;
177
+ long long lifetimeRemainingMs;
178
+ long long timeSinceLastUpdateMs;
179
+ long long timeUntilNextUpdateMs;
180
+ unsigned long long estimatedSize;
181
+ };
182
+
147
183
[SecureContext]
148
184
partial interface Navigator {
149
185
Promise<DOMString> createAuctionNonce();
150
186
};
151
187
152
188
[Exposed=InterestGroupScriptRunnerGlobalScope]
153
189
interface InterestGroupScriptRunnerGlobalScope {
190
+ readonly attribute PrivateAggregation? privateAggregation;
191
+ };
192
+
193
+ dictionary PASignalValue {
194
+ required DOMString baseValue;
195
+ double scale;
196
+ (bigint or long) offset;
197
+ };
198
+
199
+ dictionary PAExtendedHistogramContribution {
200
+ required (PASignalValue or bigint) bucket;
201
+ required (PASignalValue or long) value;
202
+ bigint filteringId = 0;
203
+ };
204
+
205
+ [Exposed=InterestGroupScriptRunnerGlobalScope]
206
+ partial interface PrivateAggregation {
207
+ undefined contributeToHistogramOnEvent(
208
+ DOMString event, PAExtendedHistogramContribution contribution);
154
209
};
155
210
156
211
[Exposed=InterestGroupBiddingAndScoringScriptRunnerGlobalScope]
@@ -198,6 +253,7 @@ dictionary GenerateBidOutput {
198
253
DOMString bidCurrency;
199
254
(DOMString or AdRender) render;
200
255
any ad;
256
+ USVString selectedBuyerAndSellerReportingId;
201
257
sequence<(DOMString or AdRender)> adComponents;
202
258
double adCost;
203
259
unrestricted double modelingSignals;
@@ -294,6 +350,7 @@ dictionary ReportingBrowserSignals {
294
350
USVString componentSeller;
295
351
296
352
USVString buyerAndSellerReportingId;
353
+ USVString selectedBuyerAndSellerReportingId;
297
354
};
298
355
299
356
dictionary ReportResultBrowserSignals : ReportingBrowserSignals {
0 commit comments