Closed npm1 closed 2 years ago
The handling of redirectStart
and redirectEnd
happens in the FETCH spec, https://fetch.spec.whatwg.org/#finalize-and-report-timing. Yes, currently there is no special treatment for navigation with the redirect timing properties, they behave the same as regular resource. Was that in the original spec and disappeared, or was it something that existed only in the tests?
Actually from reading this again, navigation timing
doesn't call finalize and report timing
, which means that you are correct and this is missing in the spec - cross-origin redirects are not handled in the navigation timing spec. Assigning to myself.
This is now handled.
Currently the Fetch spec sets redirectCount to 0 if there are any cross origin redirects in the chain to navigate. However, there seems to be no special treatment for redirectStart/redirectEnd. So what this means is that per the spec they should be set if the navigation passes all TAO checks (is it entirely clear what this means?). However, we added a test (navigation-timing/nav2_test_redirect_chain_xserver_final_original_origin.html) where we check that even if TAO checks pass, as long as there is a cross origin redirect, the timestamps are not exposed. We need to reconcile the spec and the test.