From f90e9e48cf670c4d2cc10e05ffbbda8874a43b66 Mon Sep 17 00:00:00 2001 From: Yoav Weiss Date: Wed, 3 Jun 2026 14:39:28 +0200 Subject: [PATCH 1/3] Expose redirectCount for TAO opted-in redirect chains --- source | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source b/source index d0460f2fdd3..17a3019e991 100644 --- a/source +++ b/source @@ -2692,6 +2692,7 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
  • reserve deferred fetch quota
  • potentially free deferred fetch quota
  • is offline
  • +
  • TAO check
  • response and its @@ -113076,8 +113077,10 @@ location.href = '#foo';
  • Let redirectCount be 0 if navigationParams's response's has cross-origin redirects is - true; otherwise navigationParams's request's TAO check given navigationParams's request and navigationParams's response returns failure; otherwise + navigationParams's request's redirect count.

  • Create the navigation timing entry for document, given From cea5d2010fcd3855cab2feb65573e2fd9fefcc15 Mon Sep 17 00:00:00 2001 From: Yoav Weiss Date: Wed, 3 Jun 2026 22:56:04 +0200 Subject: [PATCH 2/3] Move o response timing allow passed --- source | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source b/source index 17a3019e991..2e59c7edd95 100644 --- a/source +++ b/source @@ -2692,7 +2692,6 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute

  • reserve deferred fetch quota
  • potentially free deferred fetch quota
  • is offline
  • -
  • TAO check
  • response and its @@ -113077,10 +113076,11 @@ location.href = '#foo';
  • Let redirectCount be 0 if navigationParams's response's has cross-origin redirects is - true and TAO check given navigationParams's request and navigationParams's response returns failure; otherwise - navigationParams's request's navigationParams's response's timing allow passed flag is not set; + otherwise navigationParams's request's redirect count.

  • Create the navigation timing entry for document, given From ea4485e6272e1c706b1ce8333e4984acff71dea0 Mon Sep 17 00:00:00 2001 From: Yoav Weiss Date: Tue, 9 Jun 2026 09:30:55 +0200 Subject: [PATCH 3/3] Move to use https://github.com/whatwg/fetch/pull/1931/ --- source | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/source b/source index 2e59c7edd95..bd3b1d69704 100644 --- a/source +++ b/source @@ -2692,6 +2692,7 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute

  • reserve deferred fetch quota
  • potentially free deferred fetch quota
  • is offline
  • +
  • navigation TAO check
  • response and its @@ -2710,6 +2711,7 @@ a.setAttribute('href', 'https://example.com/'); // change the content attribute
  • service worker timing info
  • has-cross-origin-redirects
  • timing allow passed
  • +
  • navigation timing allow check set
  • extract content-range values @@ -113073,16 +113075,30 @@ location.href = '#foo'; info">extracting the full timing info from navigationParams's fetch controller.

  • -
  • Let redirectCount be 0 if navigationParams's response's has cross-origin redirects is - true and navigationParams's response's timing allow passed flag is not set; - otherwise navigationParams's

    Let redirectCount be navigationParams's request's redirect count.

  • +
  • +

    If navigationParams's response's + has cross-origin redirects + is true:

    + +
      +
    1. If navigationParams's request's client is not null and navigationParams's + request's referrer is "no-referrer", + then set redirectCount to 0.

    2. + +
    3. Otherwise, if navigation TAO check given + navigationParams's response and + navigationParams's origin returns + failure, then set redirectCount to 0.

    4. +
    +
  • +
  • Create the navigation timing entry for document, given fullTimingInfo, redirectCount, navigationTimingType, navigationParams's response's