Intent to Ship: Compression dictionary transport Updates

250 views
Skip to first unread message

Frédéric Wang Nélar

unread,
Sep 18, 2026, 6:04:11 AMSep 18
to blin...@chromium.org
Contact emails
fw...@igalia.com

Specification
https://github.com/whatwg/html/pull/11620

Summary
When fetching rel=compression-dictionary links:
- Use "compression-dictionary" as request destination.
- Properly set request's mode, credentials, referrer and referrerpolicy.
- Take into account crossorigin and referrer attributes from <link rel="compression-dictionary">.

Blink component
Blink>Network

Web Feature ID
compression-dictionary-transport

Motivation
Compression Dictionary Transport was shipped in Chromium 130. Recently Mozilla and Igalia worked on some implementation in Firefox and WebKit, quite a bunch of tests have been added and the spec has been updated. This intent to ship is to catch up with the latest changes.

Initial public proposal
No information provided

TAG review
No information provided

TAG review status
Not applicable

Goals for experimentation
None

Risks


Interoperability and Compatibility
No information provided

Gecko: Mozilla is implementing Compression dictionary transport and will have to align with the changes to make the test pass. 

WebKit: Igalia is currently upstreaming their implementation and we are aligned with these changes.

Web developers: No signals

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

No information provided


Debuggability
No information provided

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes

Is this feature fully tested by web-platform-tests?
Yes, see

https://wpt.fyi/results/fetch/compression-dictionary/fetch-destination.tentative.https.html
https://wpt.fyi/results/fetch/compression-dictionary/dictionary-fetch-with-link-element-crossorigin.tentative.https.html
https://wpt.fyi/results/fetch/compression-dictionary/dictionary-fetch-with-link-referrer-and-referrerpolicy.tentative.https.html

Flag name on about://flags
No information provided

Finch feature name
CDTNewDestination, CDTNewCrossOriginHandling, CDTNewReferrerAndReferrerPolicyHandling

Rollout plan
Will ship enabled for all users

Requires code in //chrome?
False

Tracking bug
https://issues.chromium.org/issues/40255884

Estimated milestones
Shipping on desktop 156


Anticipated spec changes
The spec PRs are still being reviewed and firefox/webkit implementation is still in progress, so more changes may happen in the future. However, the three changes here seems uncontroversial they basically align rel=compression-dictionary links with what is done for other kind of links.

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/4895435813683200?gate=6090572807929856

This intent message was generated by Chrome Platform Status.


Dan Clark

unread,
Sep 21, 2026, 2:17:27 PMSep 21
to blink-dev, fw...@igalia.com
> Specification
> https://github.com/whatwg/html/pull/11620

Is anything blocking this spec PR from landing?

> Interoperability and Compatibility
No information provided

Since this would change a shipped API, can you comment on the compatibility risk? Is there a possibility that sites already using the feature could be affected?

-- Dan

Yoav Weiss (@Shopify)

unread,
Sep 23, 2026, 9:39:13 AMSep 23
to blink-dev, dan...@microsoft.com, fw...@igalia.com
Can you tick the various review boxes (privacy, security, etc)?

Frédéric Wang Nélar

unread,
Sep 28, 2026, 10:40:23 AM (12 days ago) Sep 28
to blin...@chromium.org, Patrick Meenan


Le 21/09/2026 à 20:17, 'Dan Clark' via blink-dev a écrit :
> Specification
> https://github.com/whatwg/html/pull/11620

Is anything blocking this spec PR from landing?

Patrick can say more but I think this just pending review from the WHATWG editors and addressing review comments, no fundamental blockers.

That said, this PR is much bigger that the small changes proposed here. Actually none of the compression dictionary PRs (https://github.com/whatwg/html/pull/11620 https://github.com/w3c/webappsec-clear-site-data/pull/94 https://github.com/whatwg/fetch/pull/1854) are merged yet but API owners already approved shipping this feature in https://groups.google.com/a/chromium.org/g/blink-dev/c/MuaRf28nExk. The change I'm proposing here only aligns with the spec PR / tests / webkit so in some way, doing soe would help a bit to get the spec PR merged.

> Interoperability and Compatibility
No information provided

Since this would change a shipped API, can you comment on the compatibility risk? Is there a possibility that sites already using the feature could be affected?

Again, Patrick is probably in a better position to comment, but AFAIK we haven't done any stats on current usage, because the expectation that this change is minor and wouldn't have compat impact:

- For the fetch parameters, I understand they were too restrictive in the initially shipped implementation, and were also ignoring attributes that allow to change the default behavior. So removing this restriction shouldn't "break" websites (in the sense that some fetches could start being blocked). It also aligns with what other kinds of links are doing, so it's something more expected for developers and following existing security models.

- Regarding the "compression-dictionary" string, typical way of triggering a dictionary load is via the link element / header and the destination string is only set when the fetch request is created, without implication on how the compression dictionary is used later. It's possible for developers to observe this destination string (WPT tests I mentioned above do that with some complex logic involving a worker that observes fetch events) but it's not clear to me what would be the use case for that.


Daniel Bratell

unread,
Sep 30, 2026, 10:48:58 AM (10 days ago) Sep 30
to Frédéric Wang Nélar, blin...@chromium.org, Patrick Meenan

Looking at the shipping entry in chromestatus, it seems to lack the necessary reviews for privacy, security and so on. Can you please request those parts?

(Yoav mentioned this last week but maybe his mail got lost)

/Daniel

--
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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5cb080a5-6d3d-4205-a1ed-23755ad23ec9%40igalia.com.

Yoav Weiss (@Shopify)

unread,
Sep 30, 2026, 11:12:16 AM (10 days ago) Sep 30
to blink-dev, Daniel Bratell, Patrick Meenan, fw...@igalia.com
Looking at WPTs, it seems like Firefox is passing most of them: https://wpt.fyi/results/fetch/compression-dictionary?label=experimental&label=master&aligned

Do you know if they shipped with these updates? Are there tests for these updates?

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.

Patrick Meenan

unread,
Sep 30, 2026, 11:22:27 AM (10 days ago) Sep 30
to Yoav Weiss (@Shopify), blink-dev, Daniel Bratell, fw...@igalia.com
FWIW, the actual feature the spec is tied to shipped 2 years ago: https://chromestatus.com/feature/5124977788977152

The RFC was ratified some last year if I remember right. The fetch and html spec PR's have mostly been waiting on a second implementor and for final sign-off from the owners before merging. There have been a bunch of spec language/flow changes since the feature launched but mostly just to get the PR to properly plug the RFC into the spec-defined path - the Chrome implementation hasn't substantially changed.

I'm not 100% sure that the new platform status entry is needed. AFAIK, it's mostly fixes to align with the actual spec writeup and there were a couple of bugs that were closed but nothing that changed from a web developer's perspective (except maybe the compression-dictionary dest). There were a lot of WPT tests added as part of the effort to make sure we have consistent cross-browser behavior, particularly around CORS handling.

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Frédéric Wang Nélar

unread,
Oct 1, 2026, 6:19:30 AM (9 days ago) Oct 1
to Yoav Weiss (@Shopify), blink-dev, Daniel Bratell, Patrick Meenan
Le 30/09/2026 à 17:12, Yoav Weiss (@Shopify) a écrit :
> Looking at WPTs, it seems like Firefox is passing most of
> them: https://wpt.fyi/results/fetch/compression-dictionary?label=experimental&label=master&aligned
>
> Do you know if they shipped with these updates? Are there tests for
> these updates?
>
Note that these WPT tests are for compression dictionary transport in
general. This has been implemented in Firefox
(https://bugzilla.mozilla.org/show_bug.cgi?id=1882979) and WebKit
(https://bugs.webkit.org/show_bug.cgi?id=295249) recently, after RFC was
ratified but while the HTML and fetch PRs were still under review. Some
spec clarification happened during that period and a lot of new tests
added but mostly they follow what Chromium ships. I can't speak for
Mozilla, but at Igalia, we have been closely following the spec/tests
changes and once the runtime flag is enabled WebKit should also pass
most of the tests.

Now regarding the updates, as I mentioned in the intent to ship,
specific tests for them are:
Chromium will pass all these tests when updates are shipped and so will
WebKit once the runtime flag is enabled.

I see Firefox is only failing request destination, I opened
https://bugzilla.mozilla.org/show_bug.cgi?id=2077064 so they have it
tracked.


Frédéric Wang Nélar

unread,
Oct 1, 2026, 7:16:35 AM (9 days ago) Oct 1
to blin...@chromium.org

Sorry, I was planning to do it but I forgot. Review requested now.

Alex Russell

unread,
Oct 7, 2026, 11:08:26 AM (3 days ago) Oct 7
to blink-dev, fw...@igalia.com
LGTM1 contingent on nits being satisfied.

On Thursday, October 1, 2026 at 1:16:35 PM UTC+2 fw...@igalia.com wrote:

Sorry, I was planning to do it but I forgot. Review requested now.

Le 30/09/2026 à 16:48, Daniel Bratell a écrit :

Looking at the shipping entry in chromestatus, it seems to lack the necessary reviews for privacy, security and so on. Can you please request those parts?

(Yoav mentioned this last week but maybe his mail got lost)

/Daniel

On 2026-09-28 16:39, Frédéric Wang Nélar wrote:


Le 21/09/2026 à 20:17, 'Dan Clark' via blink-dev a écrit :
> Specification
> https://github.com/whatwg/html/pull/11620

Is anything blocking this spec PR from landing?

Patrick can say more but I think this just pending review from the WHATWG editors and addressing review comments, no fundamental blockers.

That said, this PR is much bigger that the small changes proposed here. Actually none of the compression dictionary PRs (https://github.com/whatwg/html/pull/11620 https://github.com/w3c/webappsec-clear-site-data/pull/94 https://github.com/whatwg/fetch/pull/1854) are merged yet but API owners already approved shipping this feature in https://groups.google.com/a/chromium.org/g/blink-dev/c/MuaRf28nExk. The change I'm proposing here only aligns with the spec PR / tests / webkit so in some way, doing soe would help a bit to get the spec PR merged.

> Interoperability and Compatibility
No information provided

Since this would change a shipped API, can you comment on the compatibility risk? Is there a possibility that sites already using the feature could be affected?

Again, Patrick is probably in a better position to comment, but AFAIK we haven't done any stats on current usage, because the expectation that this change is minor and wouldn't have compat impact:

- For the fetch parameters, I understand they were too restrictive in the initially shipped implementation, and were also ignoring attributes that allow to change the default behavior. So removing this restriction shouldn't "break" websites (in the sense that some fetches could start being blocked). It also aligns with what other kinds of links are doing, so it's something more expected for developers and following existing security models.

- Regarding the "compression-dictionary" string, typical way of triggering a dictionary load is via the link element / header and the destination string is only set when the fetch request is created, without implication on how the compression dictionary is used later. It's possible for developers to observe this destination string (WPT tests I mentioned above do that with some complex logic involving a worker that observes fetch events) but it's not clear to me what would be the use case for that.


--
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+unsubscribe@chromium.org.
--
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+unsubscribe@chromium.org.

Philip Jägenstedt

unread,
Oct 7, 2026, 11:09:44 AM (3 days ago) Oct 7
to Alex Russell, blink-dev, fw...@igalia.com
LGTM2

On Wed, Oct 7, 2026 at 5:08 PM Alex Russell <sligh...@chromium.org> wrote:
LGTM1 contingent on nits being satisfied.

On Thursday, October 1, 2026 at 1:16:35 PM UTC+2 fw...@igalia.com wrote:

Sorry, I was planning to do it but I forgot. Review requested now.

Le 30/09/2026 à 16:48, Daniel Bratell a écrit :

Looking at the shipping entry in chromestatus, it seems to lack the necessary reviews for privacy, security and so on. Can you please request those parts?

(Yoav mentioned this last week but maybe his mail got lost)

/Daniel

On 2026-09-28 16:39, Frédéric Wang Nélar wrote:


Le 21/09/2026 à 20:17, 'Dan Clark' via blink-dev a écrit :
> Specification
> https://github.com/whatwg/html/pull/11620

Is anything blocking this spec PR from landing?

Patrick can say more but I think this just pending review from the WHATWG editors and addressing review comments, no fundamental blockers.

That said, this PR is much bigger that the small changes proposed here. Actually none of the compression dictionary PRs (https://github.com/whatwg/html/pull/11620 https://github.com/w3c/webappsec-clear-site-data/pull/94 https://github.com/whatwg/fetch/pull/1854) are merged yet but API owners already approved shipping this feature in https://groups.google.com/a/chromium.org/g/blink-dev/c/MuaRf28nExk. The change I'm proposing here only aligns with the spec PR / tests / webkit so in some way, doing soe would help a bit to get the spec PR merged.

> Interoperability and Compatibility
No information provided

Since this would change a shipped API, can you comment on the compatibility risk? Is there a possibility that sites already using the feature could be affected?

Again, Patrick is probably in a better position to comment, but AFAIK we haven't done any stats on current usage, because the expectation that this change is minor and wouldn't have compat impact:

- For the fetch parameters, I understand they were too restrictive in the initially shipped implementation, and were also ignoring attributes that allow to change the default behavior. So removing this restriction shouldn't "break" websites (in the sense that some fetches could start being blocked). It also aligns with what other kinds of links are doing, so it's something more expected for developers and following existing security models.

- Regarding the "compression-dictionary" string, typical way of triggering a dictionary load is via the link element / header and the destination string is only set when the fetch request is created, without implication on how the compression dictionary is used later. It's possible for developers to observe this destination string (WPT tests I mentioned above do that with some complex logic involving a worker that observes fetch events) but it's not clear to me what would be the use case for that.


--
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.
--
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.

--
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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/e933f8bf-5fd8-4a49-b42c-ae082c2f11fdn%40chromium.org.

Dan Clark

unread,
Oct 7, 2026, 11:18:14 AM (3 days ago) Oct 7
to blink-dev, Philip Jägenstedt, blink-dev, fw...@igalia.com, sligh...@chromium.org
LGTM3
Reply all
Reply to author
Forward
0 new messages