Contact emails

aric...@chromium.org, jadekess...@chromium.org, miketa...@chromium.org

Design Doc

https://docs.google.com/document/d/1U3P9yvaT1NXG_qRmY3Lp6Me7M5kTnd3QrBb1yFUVNNk/edit

Specification

https://wicg.github.io/client-hints-infrastructure/

Summary

To support variable fonts
<https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide>,
color vector fonts
<https://www.chromestatus.com/feature/5638148514119680>, responsive
images
<https://github.com/w3c/webappsec-permissions-policy/issues/55#issuecomment-406627096>,
and other third-party content which requires client information lost
by the user
agent reduction
<https://groups.google.com/a/chromium.org/g/blink-dev/c/R0xKm1B7qoQ>
implementation we need a way to extend client hints
<https://wicg.github.io/ua-client-hints/>. For example: variable fonts
<https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide>
allow significantly less font information to be transferred without loss of
functionality, but only works on specific operating systems.



Blink component

Privacy>Fingerprinting
<https://bugs.chromium.org/p/chromium/issues/list?q=component%3APrivacy%3EFingerprinting>



Motivation

It’s already possible to set a Permissions Policy
<https://wicg.github.io/ua-client-hints/#delegation> in the HTTP response
header, but for sites without the ability to modify HTTP headers a HTML
solution would be ideal. This proposal prototypes a metadata meta tag which
allows delegation of client hints to third-party origins. These tags could
be included in code-snippets for embedded third-party content for ease of
use.



For example, to specify third party requests to `https://foo.bar` must
include `sec-ch-width` you could include:

<meta name="accept-ch" content="sec-ch-width=('self' 'https://foo.bar')">

You may still omit the permission policy and rely on the default allowlist
as follows:

<meta name="accept-ch" content="sec-ch-width">

Note that this is the equivalent of the following today:

<meta http-equiv="accept-ch" content="sec-ch-width">

TAG review

Not needed

Risks

This extension makes it easier for web developers to expose client hints to
third-party content, but does not increase the surface area from what was
already allowed via HTTP response headers
<https://wicg.github.io/ua-client-hints/#delegation>. Blink currently
implements first party client hints via a `http-equiv` meta tag. This
extension will have to co-exist with (as a `name` meta tag) or
replace/remove that iteration upon final implementation.


Interoperability and Compatibility



Gecko: No official position on implementation (Client Hints considered
non-harmful <https://github.com/mozilla/standards-positions/issues/79>; User
Agent Client Hints considered harmful
<https://github.com/mozilla/standards-positions/issues/202>)



WebKit: No official position on implementation



Web developers: Positive interest from Cloudinary
<https://bugs.chromium.org/p/chromium/issues/detail?id=1219359#c10>

Debuggability

Any improperly formatted client hint meta tags will be flagged in the
Issues tab.

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

No, but it will be as part of prototyping.

Tracking bug

https://crbug.com/1219359

Link to entry on the Chrome Platform Status

https://www.chromestatus.com/features/5684289032159232

-- 
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+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGpy5D%2BDQCwmfg-efW11Ms7DQgjy2tUOd3AELg1He6ovqbFWLQ%40mail.gmail.com.

Reply via email to