web-platform-tests / web-platform-tests/interop

Cross-origin redirect and Navigation Timing / Resource Timing

Open
#1,396 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

focus-area-proposal
Dominant language
JavaScript
Stars
524
Forks
35
Avg merge
1d 4h
Merged PRs (30d)
10

Description

Description

Navigation Timing #160 outlines a huge interoperability gap in the way cross-origin redirects are handled across different browser engines.

It seems critical to fix that as well as make sure that related WPTs are passing across the board.

Specification

Navigation Timing, Resource Timing, Fetch, HTML

web-feature

No response

Test Links
Below is AI output of existing interoperability gaps related to this.

WPT results below are from the latest aligned runs as of 2026-09-14:
experimental = Chrome 155 / Firefox 158 / STP 252 (c1fc85d610),
stable = Chrome 153 / Firefox 155 / Safari 26.6 (9db4b48c1f).

Navigation Timing
  • navigation-timing/redirect-tao.html — Chrome 6/6 · Firefox 3/6 · Safari 3/6 stable → 6/6
    STP

    TAO-gated exposure of redirect timing on cross-origin navigation redirects (whatwg/fetch#1931, whatwg/html#12513). The
    same three subtests fail in Gecko and stable WebKit, all with assert_equals: redirectCount expected 1 but got 0:

    • Exposed when a cross-origin redirect opts in to the destination origin
    • Exposed when a cross-origin redirect opts in with a wildcard
    • Exposed when every redirect in the chain opts in to the destination origin

    The three negative subtests (Hidden when…) pass in every engine, so both engines implement blanket hiding and ignore the opt-in. WebKit appears to have fixed this between 26.6 and STP 252, leaving Gecko
    as the sole holdout
    .

Resource Timing
Adjacent failures (cross-origin redirect is only the setup)

These fail for reasons unrelated to redirect timing, but show up in the same test files:

Test coverage gaps

Not failures — tests that don't exist yet:

  1. No NavTiming equivalent of SO-XO-SO-redirect-chain-tao.https.html. Nothing tests a navigation redirect chain that goes cross-origin and returns to the initial origin.
  2. Nothing tests the navigationStart-as-timeOrigin inference described in w3c/navigation-timing#160. Every existing test asserts on
    redirectStart/redirectEnd/redirectCount directly — i.e. the channel that is protected — while the issue is about redirect timing being recoverable from timeOrigin regardless.
Passing everywhere (baseline, listed for completeness)

navigation-timing/nav2-test-redirect-xserver.html, nav2-test-redirect-chain-xserver-final-original-origin.html, nav2-test-redirect-chain-xserver-partial-opt-in.html, test-timing-xserver-redirect.html,
resource-timing/cross-origin-start-end-time-with-redirects.html, fetch-cross-origin-redirect.https.html, redirects.html.

Note the four xserver NavTiming tests only assert redirectCount === 0 / redirectStart === 0 for the non-opted-in case — they lock in the hiding behaviour, not the exposure, which is why they're green
while redirect-tao.html is not.

Additional Signals

No response

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by running the named Navigation Timing and Resource Timing WPTs, especially navigation-timing/redirect-tao.html and the listed cross-origin redirect tests. Compare the browser-specific failures with the linked Navigation Timing, Fetch, and HTML issues. Done means the relevant interoperability failures and proposed coverage gaps are resolved, with the affected WPTs passing across engines.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
testing, web-dev
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.