diff options
author | Martin Robinson <mrobinson@igalia.com> | 2025-04-12 23:38:22 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-12 21:38:22 +0000 |
commit | 4c55104b36c7b858a117a6dd90a5dc21b74324d1 (patch) | |
tree | ca2a2baa01a5e63bb24699cc0bcf069bbf49f2f9 /components/compositing/tracing.rs | |
parent | 5f0f457ac3f70714ca14f8a6ecf4f59a3f179391 (diff) | |
download | servo-4c55104b36c7b858a117a6dd90a5dc21b74324d1.tar.gz servo-4c55104b36c7b858a117a6dd90a5dc21b74324d1.zip |
compositor: Unify the cross process and in-process API (#36443)
Because there used to be two traits exposing messages to the compositor,
there were two kinds of messages that could be sent:
1. In-process messages from the `Constellation`
2. Cross-process messages from other parts of Servo
Now these two types of messages can be unified into one type. With that
done the compositor can simply keep a single `IpcReceiver` for all
messages, instead of having to set up a route for the cross-process
messsages. This decreases overhead of cross proceses messages a bit, but
more importantly solves an issue where Servo would rely on the
compositor's cross-process message route after the `Constellation` had
called `ROUTER.shutdown()`.
This is part of #36442.
Testing: This is covered by existing WPT tests.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Diffstat (limited to 'components/compositing/tracing.rs')
-rw-r--r-- | components/compositing/tracing.rs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/components/compositing/tracing.rs b/components/compositing/tracing.rs index 907c931aebe..3b43fbbb445 100644 --- a/components/compositing/tracing.rs +++ b/components/compositing/tracing.rs @@ -42,7 +42,21 @@ mod from_constellation { Self::LoadComplete(..) => target!("LoadComplete"), Self::WebDriverMouseButtonEvent(..) => target!("WebDriverMouseButtonEvent"), Self::WebDriverMouseMoveEvent(..) => target!("WebDriverMouseMoveEvent"), - Self::CrossProcess(_) => target!("CrossProcess"), + Self::SendInitialTransaction(..) => target!("SendInitialTransaction"), + Self::SendScrollNode(..) => target!("SendScrollNode"), + Self::SendDisplayList { .. } => todo!("SendDisplayList"), + Self::HitTest(..) => target!("HitTest"), + Self::GenerateImageKey(..) => target!("GenerateImageKey"), + Self::AddImage(..) => target!("AddImage"), + Self::UpdateImages(..) => target!("UpdateImages"), + Self::GenerateFontKeys(..) => target!("GenerateFontKeys"), + Self::AddFont(..) => target!("AddFont"), + Self::AddSystemFont(..) => target!("AddSystemFont"), + Self::AddFontInstance(..) => target!("AddFontInstance"), + Self::RemoveFonts(..) => target!("RemoveFonts"), + Self::GetClientWindowRect(..) => target!("GetClientWindowRect"), + Self::GetScreenSize(..) => target!("GetScreenSize"), + Self::GetAvailableScreenSize(..) => target!("GetAvailableScreenSize"), } } } |