From ce174f12d7cf0ec3a60bf3828cc3ae4a2b78336b Mon Sep 17 00:00:00 2001 From: James Stuckey Weber Date: Thu, 18 Jun 2026 14:37:28 -0400 Subject: [PATCH 01/10] [#669] Declarative partial update use case --- .../streaming-html-updates/demo.html | 167 ++++++++++++++++++ .../streaming-html-updates/guide.md | 6 + 2 files changed, 173 insertions(+) create mode 100644 guides/user-experience/streaming-html-updates/demo.html create mode 100644 guides/user-experience/streaming-html-updates/guide.md diff --git a/guides/user-experience/streaming-html-updates/demo.html b/guides/user-experience/streaming-html-updates/demo.html new file mode 100644 index 000000000..7b060d915 --- /dev/null +++ b/guides/user-experience/streaming-html-updates/demo.html @@ -0,0 +1,167 @@ + + + + + + + Streaming Photo Gallery + + + +

My Streamed Album

+ +
+ +
+ Fetching your photos... + +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/guides/user-experience/streaming-html-updates/guide.md b/guides/user-experience/streaming-html-updates/guide.md new file mode 100644 index 000000000..388e9124e --- /dev/null +++ b/guides/user-experience/streaming-html-updates/guide.md @@ -0,0 +1,6 @@ +--- +name: streaming-html-updates +description: Declaratively update a page with content streamed later into the same HTML document. +web-feature-ids: + # https://github.com/web-platform-dx/web-features/issues/4117 +--- From b61d192601afc880996445e938b3ba47c6d590b3 Mon Sep 17 00:00:00 2001 From: James Stuckey Weber Date: Mon, 6 Jul 2026 10:48:38 -0400 Subject: [PATCH 02/10] Apply suggestions from code review Co-authored-by: Barry Pollard --- guides/user-experience/streaming-html-updates/demo.html | 2 +- guides/user-experience/streaming-html-updates/guide.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/guides/user-experience/streaming-html-updates/demo.html b/guides/user-experience/streaming-html-updates/demo.html index 7b060d915..08fc5d82c 100644 --- a/guides/user-experience/streaming-html-updates/demo.html +++ b/guides/user-experience/streaming-html-updates/demo.html @@ -161,7 +161,7 @@

My Streamed Album

\ No newline at end of file diff --git a/guides/user-experience/streaming-html-updates/guide.md b/guides/user-experience/streaming-html-updates/guide.md index 388e9124e..c59123139 100644 --- a/guides/user-experience/streaming-html-updates/guide.md +++ b/guides/user-experience/streaming-html-updates/guide.md @@ -2,5 +2,5 @@ name: streaming-html-updates description: Declaratively update a page with content streamed later into the same HTML document. web-feature-ids: - # https://github.com/web-platform-dx/web-features/issues/4117 + # https://github.com/web-platform-dx/web-features/issues/4073 --- From 1bf8b178e71bb9898be34f2bfcf2d195cb3b77db Mon Sep 17 00:00:00 2001 From: James Stuckey Weber Date: Sun, 9 Aug 2026 10:27:30 -0400 Subject: [PATCH 03/10] Add empty web feature array --- guides/user-experience/streaming-html-updates/guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guides/user-experience/streaming-html-updates/guide.md b/guides/user-experience/streaming-html-updates/guide.md index c59123139..c626e19c9 100644 --- a/guides/user-experience/streaming-html-updates/guide.md +++ b/guides/user-experience/streaming-html-updates/guide.md @@ -1,6 +1,6 @@ --- name: streaming-html-updates description: Declaratively update a page with content streamed later into the same HTML document. -web-feature-ids: +web-feature-ids: [] # https://github.com/web-platform-dx/web-features/issues/4073 --- From b5225e807d549e279d99453d9db7c769658ac4a8 Mon Sep 17 00:00:00 2001 From: James Stuckey Weber Date: Wed, 19 Aug 2026 14:03:49 -0400 Subject: [PATCH 04/10] Move out of order streaming to higher level guide --- features/pending-web-features.json | 3 + .../out-of-order-html-streaming/guide.md | 113 ++++++++++++ .../streaming-html-updates/demo.html | 167 ------------------ .../streaming-html-updates/guide.md | 6 - 4 files changed, 116 insertions(+), 173 deletions(-) create mode 100644 guides/performance/out-of-order-html-streaming/guide.md delete mode 100644 guides/user-experience/streaming-html-updates/demo.html delete mode 100644 guides/user-experience/streaming-html-updates/guide.md diff --git a/features/pending-web-features.json b/features/pending-web-features.json index db55754fa..5fae6db13 100644 --- a/features/pending-web-features.json +++ b/features/pending-web-features.json @@ -7,5 +7,8 @@ }, "tmp-cross-origin-storage": { "issue": "https://github.com/web-platform-dx/web-features/issues/4029" + }, + "tmp-declarative-partial-updates": { + "issue": "https://github.com/web-platform-dx/web-features/issues/4073" } } diff --git a/guides/performance/out-of-order-html-streaming/guide.md b/guides/performance/out-of-order-html-streaming/guide.md new file mode 100644 index 000000000..fdaba5087 --- /dev/null +++ b/guides/performance/out-of-order-html-streaming/guide.md @@ -0,0 +1,113 @@ +--- +name: out-of-order-html-streaming +description: Declaratively update a page with content streamed later into the same HTML document or via imperative JavaScript APIs. +web-feature-ids: + - tmp-declarative-partial-updates +--- + +# Out-of-Order (OOO) HTML Streaming + +Out-of-Order (OOO) HTML Streaming (also known as Declarative Partial Updates) is an alternative to the traditional "top-to-bottom" linear processing of HTML. It allows developers to define placeholders earlier in a document and "patch" them with content that arrives later in the same network stream, or via new imperative JavaScript streaming APIs. + +IMPORTANT: This feature is currently in Early Preview. It requires Chrome 148 or higher with the `#enable-experimental-web-platform-features` flag enabled. + +## Quick Overview + +The feature consists of two primary mechanisms: + +1. **Declarative Patching (HTML-based)**: Uses new processing instructions (``, ``, ``) and `