Hi there WebKit folks,
I'm writing to request a position on some recent API updates to the User-Agent Client Hints API.
There's a blink-dev I2P on the topic at [1], but I'll repeat the updates here:
1. Sec-CH-UA-Bitness: adds a new high-entropy hint to expose the OS bitness, which may be combined with Sec-CH-UA-Arch to provide optimized binaries for download, for example.
Spec PR: https://github.com/WICG/ua-client-hints/pull/210. In the linked issue Maciej mentioned[2] that were Apple to implement this, it may just send the empty string or a fixed value (which are valid values, per spec).
2. Make Sec-CH-UA-Platform a low-entropy hint: OS is passively observable at the TCP level anyways, so we plan to change this to be low-entropy and send as a default header (similar to Sec-CH-UA and Sec-CH-UA-Mobile).
Spec PR: https://github.com/WICG/ua-client-hints/pull/221
3. Include low-entropy hints by default in UADataValues (returned by getHighEntropyValues()). If a hint moves from high to low-entropy, this future proofs any code relying on it.
Spec PR: https://github.com/WICG/ua-client-hints/pull/226
4. Add a toJSON method to NavigatorUAData’s IDL. Technically a bugfix, but it is an API change (instead of returning {}, JSON.stringify(navigator.userAgentData)) will now be useful)
Spec PR: https://github.com/WICG/ua-client-hints/pull/228
(For context, Maciej provided a review previously in
https://lists.webkit.org/pipermail/webkit-dev/2020-November/031571.html
and filed a lot of great issues. 2 remain open: issues 151 and
148)
[1]
<https://groups.google.com/a/chromium.org/g/blink-dev/c/dafizBGwWMw/m/72l-1zm6AAAJ>
[2]
<https://github.com/WICG/ua-client-hints/issues/105#issuecomment-626904363>
thanks,
Mike