Skip to content

Commit

Permalink
[spec] Enable per-context contribution limits for Private Aggregation
Browse files Browse the repository at this point in the history
The goal is to enable Shared Storage embedders to override the default
number of contributions per Private Aggregation report.

To that end, this change adds the `maxContributions` field to the
web-visible Private Aggregation config dictionary and plumbs its value
into Private Aggregation's "pre-specified report parameters".

Context:
* Explainer: patcg-individual-drafts/private-aggregation-api#146
* Spec change: patcg-individual-drafts/private-aggregation-api#164
  • Loading branch information
dmcardle committed Jan 9, 2025
1 parent d60a66d commit da020dc
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions spec.bs
Original file line number Diff line number Diff line change
Expand Up @@ -575,11 +575,24 @@ Moreover, each {{SharedStorageWorklet}}'s [=global scopes|list of global scopes=
1. If |filteringIdMaxBytes| is not the [=default filtering ID max bytes=] or
|contextId| is not null, return a new {{DOMException}} with name
"`DataError`".
1. Let |maxContributions| be null.
1. If
|privateAggregationConfig|["{{SharedStoragePrivateAggregationConfig/maxContributions}}"]
[=map/exists=], set |maxContributions| to
|privateAggregationConfig|["{{SharedStoragePrivateAggregationConfig/maxContributions}}"].
1. If |maxContributions| is not a positive integer, set |maxContributions| to null.
1. Return a new [=pre-specified report parameters=] with the items:
: <a spec="private-aggregation-api" for="pre-specified report parameters">context ID</a>
:: |contextId|
: [=pre-specified report parameters/filtering ID max bytes=]
:: |filteringIdMaxBytes|
: <var ignore>requested max contributions</var>
:: |maxContributions|

Issue: Remove the `ignore` tag on <var ignore>requested max
contributions</var> once Private Aggregation's [PR
#164](https://github.com/patcg-individual-drafts/private-aggregation-api/pull/164)
is merged.
</div>

<div algorithm>
Expand Down Expand Up @@ -1446,6 +1459,7 @@ On the other hand, methods for getting data from the [=shared storage database=]
USVString aggregationCoordinatorOrigin;
USVString contextId;
[EnforceRange] unsigned long long filteringIdMaxBytes;
[EnforceRange] unsigned long long maxContributions;
};

dictionary SharedStorageRunOperationMethodOptions {
Expand Down

0 comments on commit da020dc

Please sign in to comment.