Navigation-Timing and cross-origin redirects currently have issues related to both interoperability and missing functionality.
`redirectCount`, `redirectStart` and `redirectEnd` are not currently exposed in Chromium for navigation responses where the redirect chain included cross-origin redirects. This is different from WebKit that exposes them when `Timing-Allow-Origin` is included in all responses in the chain.
This feature changes that behavior and exposes these attributes when the Timing-Allow-Origin opt-in is either '*' or explicitly opts in to the destination navigation origin.
That would enable developers to optimize cross-origin redirects that are under their control, or report issues to 3P redirect providers, assuming those providers opt-in to such reporting, presumably due to to the non-sensitive nature of their redirects.
This behavior change seems relatively minor so I have filed for a feature ID. Let me know if you disagree.Motivation
Enables developers to measure and optimize their cross-origin redirects, while ensuring that opt-in are secure and aligned with the developer's intention.Initial public proposal
https://github.com/w3c/navigation-timing/issues/215TAG review
No TAG review as this is a minor behavior change for an existing feature. The change was discussed in the relevant WG.
Let me know if you think a TAG review is needed.
TAG review status
Not applicableGoals for experimentation
NoneRisks
This was discussed at the WebPerfWG, and folks were supportive. Developers at Shopify are highly supportive of being able to measure and optimize redirects.
Other signals:
WebView application risks
Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?
No information provided Debuggability
No information providedWill this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
YesYeshttps://github.com/web-platform-tests/wpt/pull/60823Flag name on about://flags
No information providedFinch feature name
NavigationTimingRedirectTimingViaTAORollout plan
Will ship enabled for all usersRequires code in //chrome?
FalseTracking bug
https://issues.chromium.org/issues/521861828Estimated milestones
| Shipping on desktop | 151 |
| Shipping on Android | 151 |
| Shipping on WebView | 151 |
Anticipated spec changes
Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).
No information providedLink to entry on the Chrome Platform Status
https://chromestatus.com/feature/5078310347472896?gate=6080757828288512Links to previous Intent discussions
Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohS%2BmvvuuG%3D0Jww9xDpDZVsgn90p-VHUjX-exx2SnU8Zf%3Dg%40mail.gmail.com