mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
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>
This commit is contained in:
parent
5f0f457ac3
commit
4c55104b36
8 changed files with 95 additions and 215 deletions
|
@ -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"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue