diff --git a/index.bs b/index.bs
index e894e7c606..df0cc49763 100644
--- a/index.bs
+++ b/index.bs
@@ -691,38 +691,6 @@ a [=report window=] [=struct=] with the following fields:
[=report windows=], because there are no gaps in time between any of the
[=report windows|windows=].
-
Summary operator
-
-A summary operator summarizes the triggers attributed to an
-[=attribution source=]. Its value is one of the following:
-
-
-: "count"
-:: Number of triggers attributed.
-: "value_sum"
-:: Sum of the value of triggers.
-
-
-
-
Summary bucket
-
-A summary bucket is a [=struct=] with the following items:
-
-
-: start
-:: An unsigned 32-bit integer.
-: end
-:: An unsigned 32-bit integer.
-
-
-
-A summary bucket list is a [=list=] of [=summary buckets=].
-It has the following constraints:
-
-* Elements are strictly in ascending order based on their [=summary bucket/start=].
-* Every element's [=summary bucket/end=] is equal to the next element's [=summary bucket/start=] - 1, if it exists.
-* There is at least one element in the list.
-
Trigger-data matching mode
A trigger-data matching mode is one of the following:
@@ -969,8 +937,6 @@ An event-level trigger configuration is a [=struct=] with the following items:
:: A [=list=] of [=filter configs=].
: negated filters
:: A [=list=] of [=filter configs=].
-: value
-:: A positive unsigned 32-bit integer.
@@ -2437,11 +2403,8 @@ A source-registration JSON key is one of the following:
"priority"
"source_event_id"
"start_time"
-
"summary_buckets"
-
"summary_operator"
"trigger_data"
"trigger_data_matching"
-
"trigger_specs"
"values"
@@ -2594,56 +2557,12 @@ To parse report windows given a |value|, a
1. Set |startDuration| to |endDuration|.
1. Return |windows|.
-The user-agent has an associated boolean
-experimental Flexible Event support (default false) that exposes
-non-normative behavior described in the
-Flexible event-level configurations
-proposal.
-
-To parse summary operator given a [=map=] |map|:
-
-1. Let |value| be "[=summary operator/count=]".
-1. If |map|["[=source-registration JSON key/summary_operator=]"] [=map/exists=]:
- 1. If |map|["[=source-registration JSON key/summary_operator=]"] is not a [=string=], return an
- error.
- 1. If |map|["[=source-registration JSON key/summary_operator=]"] is not a
- [=summary operator=], return an error.
- 1. Set |value| to |map|["[=source-registration JSON key/summary_operator=]"].
-1. Return |value|.
-
-To parse summary buckets given a [=map=] |map| and an integer |maxEventLevelReports|:
-
-1. Let |values| be [=the inclusive range|the range=] 1 to
- |maxEventLevelReports|, inclusive.
-1. If |map|["[=source-registration JSON key/summary_buckets=]"] [=map/exists=]:
- 1. If |map|["[=source-registration JSON key/summary_buckets=]"] is not a [=list=], [=list/is empty=], or
- its [=list/size=] is greater than |maxEventLevelReports|, return an
- error.
- 1. Set |values| to |map|["[=source-registration JSON key/summary_buckets=]"].
-1. Let |prev| be 0.
-1. Let |summaryBuckets| be a new [=list=].
-1. [=list/iterate|For each=] |item| of |values|:
- 1. If |item| is not an integer or cannot be represented by an unsigned
- 32-bit integer, or is less than or equal to |prev|, return an error.
- 1. Let |summaryBucket| be a new [=summary bucket=] whose items are
-
- : [=summary bucket/start=]
- :: |prev|
- : [=summary bucket/end=]
- :: |item| - 1
-
- 1. [=list/Append=] |summaryBucket| to |summaryBuckets|.
- 1. Set |prev| to |item|.
-1. Return |summaryBuckets|.
-
To parse trigger data into a trigger spec map given a
-|triggerDataList|, a [=trigger spec=] |spec|, a [=trigger spec map=]
-|specs|, and a [=boolean=] |allowEmpty|:
+|triggerDataList|, a [=trigger spec=] |spec|, and a [=trigger spec map=]
+|specs|:
1. If |triggerDataList| is not a [=list=] or its [=list/size=] is greater than
[=max distinct trigger data per source=], return false.
-1. If |allowEmpty| is false and |triggerDataList| [=list/is empty=], return
- false.
1. [=list/iterate|For each=] |triggerData| of |triggerDataList|:
1. If |triggerData| is not an integer or cannot be represented by an
unsigned 32-bit integer, or |specs|[|triggerData|] [=map/exists=],
@@ -2662,45 +2581,19 @@ To parse trigger specs given a [=map=] |map|, a [=moment=]
and |expiry|.
1. If |defaultReportWindows| is an error, return an error.
1. Let |specs| be a new [=trigger spec map=].
-1. If [=experimental Flexible Event support=] is true and
- |map|["[=source-registration JSON key/trigger_specs=]"] [=map/exists=]:
- 1. If |map|["[=source-registration JSON key/trigger_data=]"] [=map/exists=], return an error.
- 1. If |map|["[=source-registration JSON key/trigger_specs=]"] is not a [=list=] or its
- [=list/size=] is greater than [=max distinct trigger data per source=],
+1. Let |spec| be a new [=trigger spec=] with the following items:
+ : [=trigger spec/event-level report windows=]
+ :: |defaultReportWindows|
+1. If |map|["[=source-registration JSON key/trigger_data=]"] [=map/exists=]:
+ 1. If the result of running
+ [=parse trigger data into a trigger spec map=] with
+ |map|["[=source-registration JSON key/trigger_data=]"], |spec|, and |specs| is false,
return an error.
- 1. [=list/iterate|For each=] |item| of |map|["[=source-registration JSON key/trigger_specs=]"]:
- 1. If |item| is not a [=map=], return an error.
- 1. Let |spec| be a new [=trigger spec=] with the following items:
- : [=trigger spec/event-level report windows=]
- :: |defaultReportWindows|
- 1. If |item|["[=source-registration JSON key/event_report_windows=]"] [=map/exists=]:
- 1. Let |reportWindows| be the result of
- [=parsing report windows=] with |item|["[=source-registration JSON key/event_report_windows=]"],
- |sourceTime|, and |expiry|.
- 1. If |reportWindows| is an error, return it.
- 1. Set |spec|'s [=trigger spec/event-level report windows=] to
- |reportWindows|.
- 1. If |item|["[=source-registration JSON key/trigger_data=]"] does not [=map/exist=], return an error.
- 1. Let |allowEmpty| be false.
- 1. If the result of running
- [=parse trigger data into a trigger spec map=] with
- |item|["[=source-registration JSON key/trigger_data=]"], |spec|, |specs|, and |allowEmpty| is
- false, return an error.
1. Otherwise:
- 1. Let |spec| be a new [=trigger spec=] with the following items:
- : [=trigger spec/event-level report windows=]
- :: |defaultReportWindows|
- 1. If |map|["[=source-registration JSON key/trigger_data=]"] [=map/exists=]:
- 1. Let |allowEmpty| be true.
- 1. If the result of running
- [=parse trigger data into a trigger spec map=] with
- |map|["[=source-registration JSON key/trigger_data=]"], |spec|, |specs|, and |allowEmpty| is false,
- return an error.
- 1. Otherwise:
- 1. [=set/iterate|For each=] integer |triggerData| of
- [=the exclusive range|the range=] 0 to
- [=default trigger data cardinality=][|sourceType|], exclusive:
- 1. [=map/Set=] |specs|[|triggerData|] to |spec|.
+ 1. [=set/iterate|For each=] integer |triggerData| of
+ [=the exclusive range|the range=] 0 to
+ [=default trigger data cardinality=][|sourceType|], exclusive:
+ 1. [=map/Set=] |specs|[|triggerData|] to |spec|.
1. If |matchingMode| is "[=trigger-data matching mode/modulus=]":
1. Let |i| be 0.
1. [=map/iterate|For each=] |triggerData| of |specs|'s [=map/get the keys|keys=]:
@@ -2708,9 +2601,6 @@ To parse trigger specs given a [=map=] |map|, a [=moment=]
1. Set |i| to |i| + 1.
1. Return |specs|.
-Issue: Invoke [=parse summary buckets=] and [=parse summary operator=]
-from this algorithm.
-
To parse a source aggregatable debug reporting config given |value|, a
non-negative integer |defaultBudget|, and an [=aggregatable debug reporting config=]
|defaultConfig|:
@@ -3471,15 +3361,6 @@ A trigger-registration JSON key is one of the following:
Creating an attribution trigger
-To parse an event-trigger value given a [=map=] |map|:
-
-1. If [=experimental Flexible Event support=] is false or |map|["[=trigger-registration JSON key/value=]"] does
- not [=map/exists|exist=], return 1.
-1. Let |value| be |map|["[=trigger-registration JSON key/value=]"].
-1. If |value| is not an integer, cannot be represented by an unsigned 32-bit
- integer, or is less than or equal to zero, return an error.
-1. Return |value|.
-
To parse event triggers given a [=map=] |map|:
1. Let |eventTriggers| be a new [=set=].
@@ -3504,9 +3385,6 @@ To parse event triggers given a [=map=] |map|:
1. Let |filterPair| be the result of running [=parse a filter pair=] with
|value|.
1. If |filterPair| is an error, return it.
- 1. Let |triggerValue| be the result of running
- [=parse an event-trigger value=] with |value|.
- 1. If |triggerValue| is an error, return it.
1. Let |eventTrigger| be a new [=event-level trigger configuration=] with
the items:
: [=event-level trigger configuration/trigger data=]
@@ -3519,8 +3397,6 @@ To parse event triggers given a [=map=] |map|:
:: |filterPair|[0]
: [=event-level trigger configuration/negated filters=]
:: |filterPair|[1]
- : [=event-level trigger configuration/value=]
- :: |triggerValue|
1. [=set/Append=] |eventTrigger| to |eventTriggers|.
1. Return |eventTriggers|.
@@ -4107,10 +3983,6 @@ To maybe replace event-level report given an [=attribution source=]
1. [=set/Remove=] |rateLimitRecord| from the [=attribution rate-limit cache=].
1. Return "[=event-level-report-replacement result/add-new-report=]".
-Issue: This algorithm is not compatible with the behavior proposed for
-[=experimental Flexible Event support=] with differing
-[=trigger spec/event-level report windows=] for a given source.
-
To trigger event-level attribution given an [=attribution trigger=] |trigger| and an
[=attribution source=] |sourceToAttribute|, run the following steps:
diff --git a/ts/src/flexible-event/main.ts b/ts/src/flexible-event/main.ts
index 9cbc3df330..53ca3ab039 100644
--- a/ts/src/flexible-event/main.ts
+++ b/ts/src/flexible-event/main.ts
@@ -101,7 +101,6 @@ if (options.json_file !== undefined) {
const [{ errors, warnings }, source] = validateSource(json, {
vsv: vsv.Chromium,
sourceType: options.source_type,
- fullFlex: true,
})
warnings.forEach((i) => logIssue('W', i))
if (errors.length > 0) {
@@ -114,12 +113,10 @@ if (options.json_file !== undefined) {
new Config(
source.maxEventLevelReports,
source.attributionScopes,
- source.triggerSpecs.flatMap((spec) =>
- new Array(spec.triggerData.size).fill(
- new PerTriggerDataConfig(
- spec.eventReportWindows.endTimes.length,
- spec.summaryBuckets.length
- )
+ new Array(source.triggerData.size).fill(
+ new PerTriggerDataConfig(
+ source.eventReportWindows.endTimes.length,
+ source.maxEventLevelReports
)
)
)
diff --git a/ts/src/header-validator/index.html b/ts/src/header-validator/index.html
index 8494790117..a17b5bbd19 100644
--- a/ts/src/header-validator/index.html
+++ b/ts/src/header-validator/index.html
@@ -84,7 +84,6 @@