I'm trying to get Chrome to send out Client-Hints from the Extension context.
The extension collects click-events and passes to my backend xyz. Looking to add the Sec-Ch-Ua headers to these events for enrichment.
High entropy hints are expected to not work according to the chromium specification unless the first-party webpage has a Delegate header. This is fine with me.
I'm expecting the Low-Entropy events ( Sec-CH-UA, Sec-CH-UA-Mobile, Sec-CH-UA-Platform) to be sent on every request originating from the extension, however this doesn't seem to be happening.
I couldn't find any spec disallowing low-entropy hints from extension context, so I'm wondering if I'm missing something.
---------------------------
# FROM PAGE CONTEXT #
---------------------------
----- REQUEST LINE -----
GET / HTTP/1.1.
----- HEADERS -----
Host: localhost:8000
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
sec-ch-ua-full-version-list: "Not A(Brand";v="8.0.0.0", "Chromium";v="132.0.6834.84", "Google Chrome";v="132.0.6834.84"
Custom-Header-1: from page context
Custom-Header-2: Value2
sec-ch-ua-platform: "macOS"
Accept-Language: en-GB,en;q=0.9
sec-ch-ua: "Not A(Brand";v="8", "Chromium";v="132", "Google Chrome";v="132"
sec-ch-ua-model: ""
sec-ch-ua-mobile: ?0
sec-ch-ua-full-version: "132.0.6834.84"
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36
sec-ch-ua-platform-version: "15.2.0"
Accept: */*
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: http://localhost:8000/
Accept-Encoding: gzip, deflate, br, zstd
--------------------
-----------------------------
# FROM EXTENSION CONTEXT #
-----------------------------
----- REQUEST LINE -----
GET / HTTP/1.1
----- HEADERS -----
Host: localhost:8000
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36
Custom-Header-1: from extension context Fetch API
Custom-Header-2: Value2
Accept: */*
Sec-Fetch-Site: none
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
--------------------