[blink-dev] Intent to Prototype & Ship: Report Critical-CH caused restart in NavigationTiming

205 views
Skip to first unread message

Ari Chivukula

unread,
Mar 28, 2023, 2:15:31 PM3/28/23
to blink-dev, Mike Taylor, Yoav Weiss

Contact emails

ari...@chromium.org, mike...@chromium.org, yoav...@chromium.org


Specification

https://github.com/w3c/navigation-timing/pull/188


Summary

Websites can indicate that a particular Client Hint is critical to the page by including it in a `Critical-CH` HTTP response header. Doing so will trigger a connection restart if the hint listed in the `Critical-CH` HTTP response header could be (but wasn’t) included in the HTTP request initially sent. This intent proposes adding `readonly attribute DOMHighResTimeStamp criticalCHRestart;` to the `PerformanceNavigationTiming` interface.


Blink component

Blink>PerformanceAPIs>NavigationTiming


Motivation

It’s possible for websites to observe a change in the Navigation Timing related to `responseStart` and `requestStart`, but there is no explicit timestamp that indicates when this occurred. Without that it’s harder for sites to detect the impact that the `Critical-CH` HTTP response header has on connections. Developers (including Akamai) are interested in using this to better understand the impact of User Agent Client Hints / User Agent Reduction.


`criticalCHRestart` can only be set for top-level frames, as subresources and iframes ignore `Critical-CH` HTTP response headers.


TAG review

N/A, this is a small, incremental addition to an existing feature for convenience and the loaded website has other (less convenient) ways to detect a Critical-CH restart.


Compatibility & Interoperability

We would be the first to implement if approved.


Gecko: https://github.com/mozilla/standards-positions/issues/767


WebKit: https://github.com/WebKit/standards-positions/issues/156


Web Developers: Requested by Akamai


Is this feature fully tested by web-platform-tests?

No, but it will be.


Tracking bug

https://crbug.com/1425910


Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5140317616996352


Alex Russell

unread,
Apr 5, 2023, 11:27:22 AM4/5/23
to blink-dev, Ari Chivukula, Mike Taylor, Yoav Weiss
Please file an issue with the TAG as an FYI and let us know when they respond. Their job is to help us drive coherence across the platform and spot architectural patterns. There might be other occurances of similar oversights that they can help us spot and fix.

Best,

Alex

Ari Chivukula

unread,
Apr 5, 2023, 2:46:15 PM4/5/23
to blink-dev, Alex Russell, Ari Chivukula, Mike Taylor, Yoav Weiss

Rick Byers

unread,
Apr 19, 2023, 11:32:18 AM4/19/23
to Ari Chivukula, blink-dev, Alex Russell, Ari Chivukula, Mike Taylor, Yoav Weiss
This makes a lot of sense to me. Normally we prefer to approve shipping only after spec PRs have landed, it looks like the PR is blocked on some work from you including landing the WPTs, right? I'd suggest you get this all landed under a status=experimental RuntimeEnabledFeature and see if we can get the PR reviewed and landed in short order before trying to flip to status=stable, WDYT?

Rick

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/0dacf540-c8be-4096-9ad1-bc7a99af630cn%40chromium.org.

Ari Chivukula

unread,
Apr 19, 2023, 11:35:00 AM4/19/23
to Rick Byers, Ari Chivukula, blink-dev, Alex Russell, Mike Taylor, Yoav Weiss
That differs from my past experience (in which a proposed spec change is sufficient to move forward with a launch), but if you want me to build and test it all behind a flag before I get the go ahead here that's fine.

~ Ari Chivukula (Their/There/They're)

Rick Byers

unread,
Apr 19, 2023, 11:58:27 AM4/19/23
to Ari Chivukula, Ari Chivukula, blink-dev, Alex Russell, Mike Taylor, Yoav Weiss
Hi Ari,
The documented process is to land features and specs before requesting approval to ship, as that gives the best possible chance for wide review and eventual interop. But we unfortunately often find ourselves in the position that this is impractical - eg. spec work blocked from landing due to lack of interest from a 2nd implementor (WHATWG venue) or just very slow reviews. So, if necessary, we are willing to approve based on a PR only but it's usually considered an exceptional situation. None of those seem to be the case here, it's just blocked on some impl and spec work right? In particular, we definitely want to see WPTs landed prior to shipping, so we're aligned with Noam on that request. chrishtr, foolip, yoav and I just discussed this now in the API owners meeting and are aligned on this being standard practice (though wouldn't be surprised if we've slipped up occasionally).

Thanks,
   Rick

Ari Chivukula

unread,
Apr 19, 2023, 11:59:42 AM4/19/23
to Rick Byers, Ari Chivukula, blink-dev, Alex Russell, Mike Taylor, Yoav Weiss
Works for me, didn't realize that was the standard order.

~ Ari Chivukula (Their/There/They're)

Rick Byers

unread,
Apr 19, 2023, 12:03:04 PM4/19/23
to Ari Chivukula, Ari Chivukula, blink-dev, Alex Russell, Mike Taylor, Yoav Weiss
Great, thanks Ari! No worries at all, checking to make sure the i's have been dotted and t's have been crossed is what the API owners are here for :-)

Ari Chivukula

unread,
Jun 7, 2023, 9:55:35 AM6/7/23
to Rick Byers, Ari Chivukula, blink-dev, Alex Russell, Mike Taylor, Yoav Weiss

~ Ari Chivukula (Their/There/They're)

Chris Harrelson

unread,
Jun 7, 2023, 11:36:09 AM6/7/23
to Ari Chivukula, Rick Byers, Ari Chivukula, blink-dev, Alex Russell, Mike Taylor, Yoav Weiss

Philip Jägenstedt

unread,
Jun 7, 2023, 11:37:41 AM6/7/23
to Chris Harrelson, Ari Chivukula, Rick Byers, Ari Chivukula, blink-dev, Alex Russell, Mike Taylor, Yoav Weiss

slightlyoff via Chromestatus

unread,
Jun 7, 2023, 11:57:05 AM6/7/23
to blin...@chromium.org
LGTM2

Daniel Bratell

unread,
Jun 7, 2023, 12:00:10 PM6/7/23
to Philip Jägenstedt, Chris Harrelson, Ari Chivukula, Rick Byers, Ari Chivukula, blink-dev, Alex Russell, Mike Taylor, Yoav Weiss
Reply all
Reply to author
Forward
0 new messages