@@ -54,7 +54,9 @@ urlPrefix: https://privacycg.github.io/nav-tracking-mitigations/
5454 for: top-level traversable
5555 text: bounce tracking record; url: top-level-traversable-bounce-tracking-record
5656 for: bounce tracking record
57+ text: initial host; url: #bounce-tracking-record-initial-host
5758 text: bounce set; url: #bounce-tracking-record-bounce-set
59+ text: user activation set; url: #bounce-tracking-record-user-activation-set
5860</pre>
5961
6062<pre class="biblio">
@@ -958,15 +960,20 @@ steps:
9589601. Let |firstPartySite| be the result of running [=obtain a site=] given |firstPartyOrigin|.
9599611. Let |bounceTrackingRecord| be |navigable|'s [=navigable/top-level traversable=]' s
960962 [=top-level traversable/bounce tracking record=] .
961- 1. [=list/For each=] |bounceUrl| in |bounceTrackingRecord|'s [=bounce tracking record/bounce set=] :
962- 1. Let |site| be the result of running [=obtain a site=] given |bounceUrl|.
963- 1. If |site| is [=site/same site=] to |firstPartySite|, [=iteration/continue=] .
964- <!-- TODO: check if |bounceUrl| has a transient activation. This will require patching bounce tracking record. -->
965- <!-- TODO: check A-B-A user flow. This will require traversing the navigable's history. -->
9669631. Let |currentWallTime| be |topDocument|'s [=relevant settings object=]' s
967964 [=environment settings object/current wall time=] .
968- 1. [=Grant access for heuristics=] given |site|, |firstPartySite|, |currentWallTime|, and
969- [=redirect heuristic grant duration=] .
965+ 1. Let |navigatedUrlsSet| be |bounceTrackingRecord|'s [=bounce tracking record/bounce set=] .
966+ 1. Append |bounceTrackingRecord|'s [=bounce tracking record/initial host=] to |navigatedUrlsSet|.
967+ 1. [=list/For each=] |bounceUrl| in |navigatedUrlsSet|:
968+ 1. Let |site| be the result of running [=obtain a site=] given |bounceUrl|.
969+ 1. If |site| is [=site/same site=] to |firstPartySite|, [=iteration/continue=] .
970+ 1. If |bounceTrackingRecord|'s [=bounce tracking record/user activation set=] does not contain |site|,
971+ [=iteration/continue=] .
972+ <!-- TODO: Check that the user visited |firstPartySite| before |site|, to verify the
973+ [A-B-A flow] (https://github.com/amaliev/3pcd-exemption-heuristics/blob/main/explainer.md#scenario-c2).
974+ This will require traversing the navigable's history. -->
975+ 1. [=Grant access for heuristics=] given |site|, |firstPartySite|, |currentWallTime|, and
976+ [=redirect heuristic grant duration=] .
970977
971978</div>
972979
0 commit comments