v150 · HTML · Declarative partial updates

Out-of-order streaming

Chrome 150 adds native streamed HTML patching: a server sends a shell with processing-instruction ranges, then later streams <template for> chunks that update those ranges without client-side DOM replacement code.

concepts

  1. Chunk Ordering

    Loads a real streamed document where related links and result rows patch before a deliberately slow hero range.

  2. Streaming Demo

    Minimal two-slot shell showing that later response bytes can contain declarative patches instead of imperative script.

  3. Chunk Timing Chart

    Six server chunks patch timing rows in arrival order, with chunk 2 delayed to make out-of-order updates visible.

  4. Chunk Visualizer

    Choose which dashboard region is slow and watch the server stream the other <template for> chunks first.

  5. Pipeline Demo

    Backend pipeline stages patch independent ranges as each stage finishes.

  6. AI Chat Simulation

    Appends ordered generated tokens with repeated marker patches, matching the parser-level mechanism instead of JavaScript token concatenation.

the server contract

<section>
  <?start name="gallery">Loading...<?end>
</section>

<template for="gallery">
  Actual gallery content
</template>

The showcase routes keep the response open with text/html, flush the shell first, then enqueue delayed <template for> chunks. Page JavaScript may reload or inspect the stream, but it does not apply the patches.

references

implementation reference

Need the exact API surface, compatibility boundaries, errors, lifecycle, and source links? Read the matching gendn reference ↗