You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p id="w3c-state"><a href="https://www.w3.org/standards/types/#CG-DRAFT">Draft Community Group Report</a>, <time class="dt-updated" datetime="2024-12-19">19 December 2024</time></p>
739
+
<p id="w3c-state"><a href="https://www.w3.org/standards/types/#CG-DRAFT">Draft Community Group Report</a>, <time class="dt-updated" datetime="2025-01-10">10 January 2025</time></p>
<p>If the result of running <a data-link-type="dfn" href="#check-if-attribution-should-be-blocked-by-rate-limits" id="ref-for-check-if-attribution-should-be-blocked-by-rate-limits①">check if attribution should be blocked by rate limits</a> with <var>trigger</var>, <var>sourceToAttribute</var>, and <var>rateLimitRecord</var> is not null,
6355
6355
return it.</p>
6356
6356
<li data-md>
6357
-
<p>If <var>sourceToAttribute</var>’s <a data-link-type="dfn" href="#attribution-source-number-of-aggregatable-attribution-reports" id="ref-for-attribution-source-number-of-aggregatable-attribution-reports">number of aggregatable attribution reports</a> value is equal to <a data-link-type="dfn" href="#max-aggregatable-reports-per-source" id="ref-for-max-aggregatable-reports-per-source②">max aggregatable reports per source</a>[0], then:</p>
6357
+
<p>If <var>sourceToAttribute</var>’s <a data-link-type="dfn" href="#attribution-source-number-of-aggregatable-attribution-reports" id="ref-for-attribution-source-number-of-aggregatable-attribution-reports">number of aggregatable attribution reports</a> value is equal to <a data-link-type="dfn" href="#max-aggregatable-reports-per-source" id="ref-for-max-aggregatable-reports-per-source②">max aggregatable reports per source</a>[0] and <var>trigger</var>’s <a data-link-type="dfn" href="#attribution-trigger-trigger-context-id" id="ref-for-attribution-trigger-trigger-context-id③">trigger context ID</a> is null, then:</p>
<p><a data-link-type="dfn" href="https://infra.spec.whatwg.org/#set-append" id="ref-for-set-append②⑦">Append</a> <var>report</var> to the <a data-link-type="dfn" href="#aggregatable-attribution-report-cache" id="ref-for-aggregatable-attribution-report-cache⑥">aggregatable attribution report cache</a>.</p>
6381
6381
<li data-md>
6382
-
<p>Increment <var>sourceToAttribute</var>’s <a data-link-type="dfn" href="#attribution-source-number-of-aggregatable-attribution-reports" id="ref-for-attribution-source-number-of-aggregatable-attribution-reports①">number of aggregatable attribution reports</a> value by 1.</p>
6382
+
<p>If <var>trigger</var>’s <a data-link-type="dfn" href="#attribution-trigger-trigger-context-id" id="ref-for-attribution-trigger-trigger-context-id④">trigger context ID</a> is null, increment <var>sourceToAttribute</var>’s <a data-link-type="dfn" href="#attribution-source-number-of-aggregatable-attribution-reports" id="ref-for-attribution-source-number-of-aggregatable-attribution-reports①">number of aggregatable attribution reports</a> value by 1.</p>
6383
6383
<li data-md>
6384
6384
<p>Decrement <var>sourceToAttribute</var>’s <a data-link-type="dfn" href="#attribution-source-remaining-aggregatable-attribution-budget" id="ref-for-attribution-source-remaining-aggregatable-attribution-budget②">remaining aggregatable attribution budget</a> value by <var>report</var>’s <a data-link-type="dfn" href="#aggregatable-report-required-aggregatable-budget" id="ref-for-aggregatable-report-required-aggregatable-budget⑤">required aggregatable budget</a>.</p>
<p>If <var>matchedDedupKey</var> is not null, <a data-link-type="dfn" href="https://infra.spec.whatwg.org/#list-append" id="ref-for-list-append②⑥">append</a> it to <var>sourceToAttribute</var>’s <a data-link-type="dfn" href="#attribution-source-aggregatable-dedup-keys" id="ref-for-attribution-source-aggregatable-dedup-keys①">aggregatable dedup keys</a>.</p>
6393
6393
<li data-md>
6394
-
<p><a data-link-type="dfn" href="https://infra.spec.whatwg.org/#set-append" id="ref-for-set-append②⑧">Append</a> <var>rateLimitRecord</var> to the <a data-link-type="dfn" href="#attribution-rate-limit-cache" id="ref-for-attribution-rate-limit-cache①⑦">attribution rate-limit cache</a>.</p>
6394
+
<p>If <var>trigger</var>’s <a data-link-type="dfn" href="#attribution-trigger-trigger-context-id" id="ref-for-attribution-trigger-trigger-context-id⑤">trigger context ID</a> is null, <a data-link-type="dfn" href="https://infra.spec.whatwg.org/#set-append" id="ref-for-set-append②⑧">append</a> <var>rateLimitRecord</var> to the <a data-link-type="dfn" href="#attribution-rate-limit-cache" id="ref-for-attribution-rate-limit-cache①⑦">attribution rate-limit cache</a>.</p>
6395
6395
<li data-md>
6396
6396
<p>Run <a data-link-type="dfn" href="#generate-null-attribution-reports" id="ref-for-generate-null-attribution-reports">generate null attribution reports</a> with <var>trigger</var> and <var>report</var>.</p>
<dt data-md><a data-link-type="dfn" href="#aggregatable-attribution-report-filtering-id-max-bytes" id="ref-for-aggregatable-attribution-report-filtering-id-max-bytes">filtering ID max bytes</a>
6731
6731
<dd data-md>
6732
6732
<p><var>trigger</var>’s <a data-link-type="dfn" href="#attribution-trigger-aggregatable-filtering-id-max-bytes" id="ref-for-attribution-trigger-aggregatable-filtering-id-max-bytes②">aggregatable filtering ID max bytes</a></p>
<dt data-md><a data-link-type="dfn" href="#aggregatable-attribution-report-filtering-id-max-bytes" id="ref-for-aggregatable-attribution-report-filtering-id-max-bytes①">filtering ID max bytes</a>
6785
6785
<dd data-md>
6786
6786
<p><var>trigger</var>’s <a data-link-type="dfn" href="#attribution-trigger-aggregatable-filtering-id-max-bytes" id="ref-for-attribution-trigger-aggregatable-filtering-id-max-bytes③">aggregatable filtering ID max bytes</a></p>
"attribution-trigger-named-budgets": {"dfnID":"attribution-trigger-named-budgets","dfnText":"named budgets","external":false,"refSections":[{"refs":[{"id":"ref-for-attribution-trigger-named-budgets"}],"title":"12.6. Can source create aggregatable contributions"}],"url":"#attribution-trigger-named-budgets"},
9557
9557
"attribution-trigger-negated-filters": {"dfnID":"attribution-trigger-negated-filters","dfnText":"negated filters","external":false,"refSections":[{"refs":[{"id":"ref-for-attribution-trigger-negated-filters"}],"title":"12.1. Creating an attribution trigger"},{"refs":[{"id":"ref-for-attribution-trigger-negated-filters\u2460"}],"title":"12.10. Triggering attribution"}],"url":"#attribution-trigger-negated-filters"},
9558
9558
"attribution-trigger-reporting-origin": {"dfnID":"attribution-trigger-reporting-origin","dfnText":"reporting origin","external":false,"refSections":[{"refs":[{"id":"ref-for-attribution-trigger-reporting-origin"}],"title":"9. Vendor-Specific Values"},{"refs":[{"id":"ref-for-attribution-trigger-reporting-origin\u2460"}],"title":"12.1. Creating an attribution trigger"},{"refs":[{"id":"ref-for-attribution-trigger-reporting-origin\u2461"}],"title":"12.4. Should attribution be blocked by rate limits"},{"refs":[{"id":"ref-for-attribution-trigger-reporting-origin\u2462"}],"title":"12.7. Obtaining verbose debug data on trigger registration"},{"refs":[{"id":"ref-for-attribution-trigger-reporting-origin\u2463"},{"id":"ref-for-attribution-trigger-reporting-origin\u2464"},{"id":"ref-for-attribution-trigger-reporting-origin\u2465"}],"title":"12.10. Triggering attribution"},{"refs":[{"id":"ref-for-attribution-trigger-reporting-origin\u2466"}],"title":"12.15. Generating randomized null attribution reports"}],"url":"#attribution-trigger-reporting-origin"},
9559
-
"attribution-trigger-trigger-context-id": {"dfnID":"attribution-trigger-trigger-context-id","dfnText":"trigger context ID","external":false,"refSections":[{"refs":[{"id":"ref-for-attribution-trigger-trigger-context-id"}],"title":"8. Constants"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-context-id\u2460"}],"title":"12.1. Creating an attribution trigger"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-context-id\u2461"}],"title":"12.3. Should send a report unconditionally"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-context-id\u2462"}],"title":"12.14. Obtaining an aggregatable attribution report"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-context-id\u2463"},{"id":"ref-for-attribution-trigger-trigger-context-id\u2464"}],"title":"12.15. Generating randomized null attribution reports"}],"url":"#attribution-trigger-trigger-context-id"},
9559
+
"attribution-trigger-trigger-context-id": {"dfnID":"attribution-trigger-trigger-context-id","dfnText":"trigger context ID","external":false,"refSections":[{"refs":[{"id":"ref-for-attribution-trigger-trigger-context-id"}],"title":"8. Constants"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-context-id\u2460"}],"title":"12.1. Creating an attribution trigger"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-context-id\u2461"}],"title":"12.3. Should send a report unconditionally"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-context-id\u2462"},{"id":"ref-for-attribution-trigger-trigger-context-id\u2463"},{"id":"ref-for-attribution-trigger-trigger-context-id\u2464"}],"title":"12.9. Triggering aggregatable attribution"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-context-id\u2465"}],"title":"12.14. Obtaining an aggregatable attribution report"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-context-id\u2466"},{"id":"ref-for-attribution-trigger-trigger-context-id\u2467"}],"title":"12.15. Generating randomized null attribution reports"}],"url":"#attribution-trigger-trigger-context-id"},
9560
9560
"attribution-trigger-trigger-time": {"dfnID":"attribution-trigger-trigger-time","dfnText":"trigger time","external":false,"refSections":[{"refs":[{"id":"ref-for-attribution-trigger-trigger-time"}],"title":"12.1. Creating an attribution trigger"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-time\u2460"}],"title":"12.4. Should attribution be blocked by rate limits"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-time\u2461"},{"id":"ref-for-attribution-trigger-trigger-time\u2462"}],"title":"12.5. Creating aggregatable contributions"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-time\u2463"}],"title":"12.6. Can source create aggregatable contributions"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-time\u2464"},{"id":"ref-for-attribution-trigger-trigger-time\u2465"},{"id":"ref-for-attribution-trigger-trigger-time\u2466"}],"title":"12.8. Triggering event-level attribution"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-time\u2467"},{"id":"ref-for-attribution-trigger-trigger-time\u2468"}],"title":"12.9. Triggering aggregatable attribution"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-time\u2460\u24ea"},{"id":"ref-for-attribution-trigger-trigger-time\u2460\u2460"},{"id":"ref-for-attribution-trigger-trigger-time\u2460\u2461"},{"id":"ref-for-attribution-trigger-trigger-time\u2460\u2462"}],"title":"12.10. Triggering attribution"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-time\u2460\u2463"}],"title":"12.11. Establishing report delivery time"},{"refs":[{"id":"ref-for-attribution-trigger-trigger-time\u2460\u2464"},{"id":"ref-for-attribution-trigger-trigger-time\u2460\u2465"}],"title":"12.15. Generating randomized null attribution reports"}],"url":"#attribution-trigger-trigger-time"},
9561
9561
"automation-local-testing-mode": {"dfnID":"automation-local-testing-mode","dfnText":"automation local testing mode","external":false,"refSections":[{"refs":[{"id":"ref-for-automation-local-testing-mode"},{"id":"ref-for-automation-local-testing-mode\u2460"},{"id":"ref-for-automation-local-testing-mode\u2461"}],"title":"9. Vendor-Specific Values"},{"refs":[{"id":"ref-for-automation-local-testing-mode\u2462"}],"title":"11.3. Parsing source-registration JSON"},{"refs":[{"id":"ref-for-automation-local-testing-mode\u2463"}],"title":"12.11. Establishing report delivery time"},{"refs":[{"id":"ref-for-automation-local-testing-mode\u2464"}],"title":"15.1. Set local testing mode"}],"url":"#automation-local-testing-mode"},
9562
9562
"b012ccb2": {"dfnID":"b012ccb2","dfnText":"forgiving-base64 encode","external":true,"refSections":[{"refs":[{"id":"ref-for-forgiving-base64-encode"},{"id":"ref-for-forgiving-base64-encode\u2460"}],"title":"13.4. Obtaining an aggregatable report\u2019s aggregation service payloads"}],"url":"https://infra.spec.whatwg.org/#forgiving-base64-encode"},
0 commit comments