[Webkit-unassigned] [Bug 265386] New: Streaming HTML only works in iframe elements. Safari waits to buffer all HTML before rendering.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Nov 27 09:03:32 PST 2023


https://bugs.webkit.org/show_bug.cgi?id=265386

            Bug ID: 265386
           Summary: Streaming HTML only works in iframe elements. Safari
                    waits to buffer all HTML before rendering.
           Product: WebKit
           Version: Safari 17
          Hardware: Mac (Apple Silicon)
                OS: macOS 13
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Layout and Rendering
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: nathan at knowler.dev
                CC: bfulgham at webkit.org, simon.fraser at apple.com,
                    zalan at apple.com

Created attachment 468769

  --> https://bugs.webkit.org/attachment.cgi?id=468769&action=review

Deno Server which streams HTML. Run with `deno run --allow-net deno-server-streaming-html.js`.

Safari doesn’t seem to be streaming HTML at all, except for `<iframe>` elements. Right now, it appears to buffer all the HTML before rendering anything.

To reproduce you will need a web server that supports streaming. The attached example uses Deno (1.38.2). When run locally, it’ll serve HTTP/1.1 and adds the correct `Transport-Encoding: chunked` header. I have a hosted variation of the example which is being served with Deno Deploy: https://shadowroot-streams.deno.dev. It also uses the Declarative Shadow DOM. That example uses HTTP/2 and correctly doesn’t use the `Transport-Encoding` header since it’s incompatible with HTTP/2. In short, Deno’s streaming the content correctly and Deno Deploy supports HTML streaming.

Note: the attached example admittedly doesn’t have a tonne of HTML in the first chunk, but that doesn’t seem to matter at all for streaming into an `<iframe>` element. Other browsers are also able to stream this fine.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20231127/9399c477/attachment-0001.htm>


More information about the webkit-unassigned mailing list