From 37720dcf8663c963580c1f54c2ad7e3923c663c4 Mon Sep 17 00:00:00 2001 From: Alex Turner Date: Mon, 3 Mar 2025 21:44:34 +0000 Subject: [PATCH 1/3] Spec: export more definitions There are a range of definitions used in other specs that aren't exported yet. --- spec.bs | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/spec.bs b/spec.bs index 536d860..adf94de 100644 --- a/spec.bs +++ b/spec.bs @@ -155,12 +155,12 @@ Issue: {{PrivateAggregation/enableDebugMode(options)}}'s argument should not Each {{PrivateAggregation}} object has the following fields:
-: scoping details (default null) +: scoping details (default null) :: A [=scoping details=] or null -: allowed to use (default false) +: allowed to use (default false) :: A [=boolean=] -: should perform default contributeToHistogramOnEvent() processing - (default an algorithm that always returns true) +: should perform default contributeToHistogramOnEvent() + processing (default an algorithm that always returns true) :: An algorithm that takes a {{PrivateAggregation}}, {{DOMString}} and a [=map=] (with {{DOMString}} keys) and returns either a [=boolean=] or an [=exception=]. @@ -377,7 +377,7 @@ two APIs: Structures {#structures} ======================== -

Batching scope

+

Batching scope

A batching scope is a unique internal value that identifies which {{PAHistogramContribution}}s should be sent in the same [=aggregatable report=] unless their [=aggregatable report/debug details=] differ. @@ -385,13 +385,13 @@ report=] unless their [=aggregatable report/debug details=] differ. Issue: Unique internal value is not an exported definition. See infra/583. -

Debug scope

+

Debug scope

A debug scope is a unique internal value that identifies which {{PAHistogramContribution}}s should have their [=debug details=] affected by the presence or absence of a call to {{PrivateAggregation/enableDebugMode()}} in the same period of execution. -

Scoping details

+

Scoping details

A scoping details is a [=struct=] with the following items:
: get batching scope steps @@ -447,7 +447,7 @@ Note: This special value represents any external error event that has already all the [=internal error events=] in the order they are defined above followed by [=already triggered external error=]. -

Contribution cache entry

+

Contribution cache entry

A contribution cache entry is a [=struct=] with the following items:
: contribution @@ -514,7 +514,7 @@ An aggregatable report is a [=struct=] with the following items: Aggregation coordinator {#aggregation-coordinator-structure} ------------------------------------------------------------ -An aggregation coordinator is an [=origin=] that the [=allowed +An aggregation coordinator is an [=origin=] that the [=allowed aggregation coordinator set=] [=set/contains=]. Issue: Consider switching to the suitable @@ -531,8 +531,8 @@ Aggregation should pick a unique string (or multiple) for this. Pre-specified report parameters {#pre-specified-report-parameters-structure} ---------------------------------------------------------------------------- -A pre-specified report parameters is a [=struct=] with the following -items: +A pre-specified report parameters is a [=struct=] with the +following items:
: context ID (default: null) :: A [=string=] or null @@ -617,8 +617,8 @@ Permissions Policy integration {#permissions-policy-integration} ================================================================ This specification defines a [=policy-controlled feature=] identified by the -string "private-aggregation". Its [=policy-controlled -feature/default allowlist=] is "`*`". +string "private-aggregation". Its +[=policy-controlled feature/default allowlist=] is "`*`". Note: The [=PrivateAggregation/allowed to use=] field is set by other specifications that integrate with this API according to this @@ -697,9 +697,9 @@ scope=] |debugScope| and an optional [=debug details=] or null
-To determine if a report should be sent deterministically given a -[=pre-specified report parameters=] |preSpecifiedParams| and a [=context type=] -|api|, perform the following steps. They return a [=boolean=]: +To determine if a report should be sent deterministically +given a [=pre-specified report parameters=] |preSpecifiedParams| and a [=context +type=] |api|, perform the following steps. They return a [=boolean=]: 1. If |preSpecifiedParams|' [=pre-specified report parameters/context ID=] is not null, return true. 1. If |preSpecifiedParams|' [=pre-specified report parameters/filtering ID max @@ -858,7 +858,7 @@ scope given a [=pre-specified report parameters=] |params| and a
-To validate a histogram contribution given a +To validate a histogram contribution given a {{PAHistogramContribution}} |contribution| and a [=scoping details=] |scopingDetails|, perform the following steps. They return a [=contribution cache entry=] or an [=exception=]. From 185e9b4a865c8d1f3920aa05ea52f53f03cdbf6d Mon Sep 17 00:00:00 2001 From: Alex Turner Date: Tue, 4 Mar 2025 16:43:27 +0000 Subject: [PATCH 2/3] one more --- spec.bs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec.bs b/spec.bs index adf94de..30d54d7 100644 --- a/spec.bs +++ b/spec.bs @@ -435,7 +435,7 @@ An internal error event is one of the following:
An error event is an [=internal error event=] or the special -value already triggered external error. +value already triggered external error. Note: This special value represents any external error event that has already occurred. External error events are defined by embedding APIs and are From a57f44cab3a5705168d8e9353408ded919a9ec34 Mon Sep 17 00:00:00 2001 From: Alex Turner Date: Tue, 4 Mar 2025 19:30:29 +0000 Subject: [PATCH 3/3] some more --- spec.bs | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/spec.bs b/spec.bs index 30d54d7..ed993d9 100644 --- a/spec.bs +++ b/spec.bs @@ -394,9 +394,9 @@ same period of execution.

Scoping details

A scoping details is a [=struct=] with the following items:
-: get batching scope steps +: get batching scope steps :: An algorithm returning a [=batching scope=] -: get debug scope steps +: get debug scope steps :: An algorithm returning a [=debug scope=]
@@ -534,11 +534,12 @@ Pre-specified report parameters {#pre-specified-report-parameters-structure} A pre-specified report parameters is a [=struct=] with the following items:
-: context ID (default: null) +: context ID (default: null) :: A [=string=] or null -: filtering ID max bytes (default: [=default filtering ID max bytes=]) +: filtering ID max bytes (default: [=default filtering ID max + bytes=]) :: A positive integer -: max contributions (default: null) +: max contributions (default: null) :: A positive integer or null
@@ -577,12 +578,12 @@ parameters map=]. Constants {#constants} ====================== -Default filtering ID max bytes is a positive integer controlling the -max bytes used if none is explicitly chosen. Its value is 1. +Default filtering ID max bytes is a positive integer +controlling the max bytes used if none is explicitly chosen. Its value is 1. -Valid filtering ID max bytes range is a [=set=] of positive integers -controlling the allowable values of max bytes. Its value is [=the inclusive -range|the range=] 1 to 8, inclusive. +Valid filtering ID max bytes range is a [=set=] of positive +integers controlling the allowable values of max bytes. Its value is [=the +inclusive range|the range=] 1 to 8, inclusive. Issue: Consider adding more constants.