Firefox can split a DevTools protocol packet across multiple TCP reads. The previous reader only checked that some data was available, then tried to synchronously read the whole length-prefixed packet from the readiness callback. Once the socket was nonblocking this could make startup flaky when Firefox opened the inspector. Buffer incoming bytes instead, and only dispatch messages once a full length-prefixed JSON payload has arrived. Add a protocol test that sends a request in two fragments through the real DevTools server. |
||
|---|---|---|
| .. | ||
| Actors | ||
| Actor.cpp | ||
| Actor.h | ||
| CMakeLists.txt | ||
| Connection.cpp | ||
| Connection.h | ||
| DevToolsDelegate.h | ||
| DevToolsServer.cpp | ||
| DevToolsServer.h | ||
| Forward.h | ||
| Node.h | ||
| StorageHelpers.cpp | ||
| StorageHelpers.h | ||