@@ -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">
@@ -962,15 +964,20 @@ steps:
9629641. Let |firstPartySite| be the result of running [=obtain a site=] given |firstPartyOrigin|.
9639651. Let |bounceTrackingRecord| be |navigable|'s [=navigable/top-level traversable=]' s
964966 [=top-level traversable/bounce tracking record=] .
965- 1. [=list/For each=] |bounceUrl| in |bounceTrackingRecord|'s [=bounce tracking record/bounce set=] :
966- 1. Let |site| be the result of running [=obtain a site=] given |bounceUrl|.
967- 1. If |site| is [=site/same site=] to |firstPartySite|, [=iteration/continue=] .
968- <!-- TODO: check if |bounceUrl| has a transient activation. This will require patching bounce tracking record. -->
969- <!-- TODO: check A-B-A user flow. This will require traversing the navigable's history. -->
9709671. Let |currentWallTime| be |topDocument|'s [=relevant settings object=]' s
971968 [=environment settings object/current wall time=] .
972- 1. [=Grant access for heuristics=] given |site|, |firstPartySite|, |currentWallTime|, and
973- [=redirect heuristic grant duration=] .
969+ 1. Let |navigatedUrlsSet| be |bounceTrackingRecord|'s [=bounce tracking record/bounce set=] .
970+ 1. Append |bounceTrackingRecord|'s [=bounce tracking record/initial host=] to |navigatedUrlsSet|.
971+ 1. [=list/For each=] |bounceUrl| in |navigatedUrlsSet|:
972+ 1. Let |site| be the result of running [=obtain a site=] given |bounceUrl|.
973+ 1. If |site| is [=site/same site=] to |firstPartySite|, [=iteration/continue=] .
974+ 1. If |bounceTrackingRecord|'s [=bounce tracking record/user activation set=] does not contain |site|,
975+ [=iteration/continue=] .
976+ <!-- TODO: Check that the user visited |firstPartySite| before |site|, to verify the
977+ [A-B-A flow] (https://github.com/amaliev/3pcd-exemption-heuristics/blob/main/explainer.md#scenario-c2).
978+ This will require traversing the navigable's history. -->
979+ 1. [=Grant access for heuristics=] given |site|, |firstPartySite|, |currentWallTime|, and
980+ [=redirect heuristic grant duration=] .
974981
975982</div>
976983
0 commit comments