PSA: Changes to Chrome’s WebSocket Server used in DevTools protocol to improve standard compliance

50 views
Skip to first unread message

Shiho Noda

unread,
Sep 17, 2021, 11:42:09 AM9/17/21
to blin...@chromium.org, ri...@chromium.org, yhi...@chromium.org, yoi...@chromium.org

Dear blink devs

If you don’t use the DevTools protocol, you can ignore this.
This server is only used in headless or remote-control scenarios, and is not part of the web platform.
DevTools uses Chrome internal WebSocket implementation. The previous implementation was not compliant with the WebSocket standard [1]. Therefore, I fixed it by supporting fragmented messages and ping and pong frames.
[1] https://datatracker.ietf.org/doc/html/rfc6455


The server now accepts fragmented messages and concatenates the frames correctly.
When the server receives a ping frame, it responds with a pong frame in compliance with the standard: https://datatracker.ietf.org/doc/html/rfc6455#section-5.5.2

When the server receives pong frames, it accepts them and doesn't close the connection.

There are no changes for people who don’t use fragmented messages or ping/pong frames. People who want to use them will find they work now.

Cheers,
Shiho Noda



Mathias Bynens

unread,
Sep 21, 2021, 8:56:19 AM9/21/21
to Shiho Noda, blink-dev, ri...@chromium.org, yhi...@chromium.org, yoi...@chromium.org
For those wondering (like me), the relevant tracking bug is https://bugs.chromium.org/p/chromium/issues/detail?id=865002.

--
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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKA0%3D6t2ADP6DE7qDiJ3LxK0gV_KKPydfNOYdHobDwyd4Sa6fg%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages