compositing: Send CompositorDisplayListInfo as bytes to compositor (#36484)

`CompositorDisplayListInfo` is a large data structure that scales with
the size of the display list. Serializing it onto the Compositor's IPC
channel can cause deadlocks. This change serializes it with bincode and
sends it alongside the rest of the serialized display list information
on the IPC `bytes_channel`. This should prevent deadlocks when the
compositor API is unified.

Testing: This is covered by existing WPT tests.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
Martin Robinson 2025-04-12 22:01:22 +02:00 committed by GitHub
parent 084fe007a1
commit 5f0f457ac3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 27 additions and 8 deletions

View file

@ -16,6 +16,7 @@ no-wgl = ["surfman/sm-angle-default"]
[dependencies]
base = { workspace = true }
bincode = { workspace = true }
crossbeam-channel = { workspace = true }
dpi = { version = "0.1" }
embedder_traits = { workspace = true }