mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
compositing: Move messages that go over the ScriptListener
to go over
an IPC channel instead. Because this used a boxed trait object to invoke messages across a process boundary, and boxed trait objects are not supported across IPC, we spawn a helper thread inside the compositor to perform the marshaling for us.
This commit is contained in:
parent
2947d78e4e
commit
e841065351
14 changed files with 211 additions and 82 deletions
|
@ -57,7 +57,7 @@ pub struct WindowSizeData {
|
|||
pub device_pixel_ratio: ScaleFactor<ViewportPx, DevicePixel, f32>,
|
||||
}
|
||||
|
||||
#[derive(PartialEq, Eq, Copy, Clone)]
|
||||
#[derive(PartialEq, Eq, Copy, Clone, Deserialize, Serialize)]
|
||||
pub enum KeyState {
|
||||
Pressed,
|
||||
Released,
|
||||
|
@ -65,7 +65,7 @@ pub enum KeyState {
|
|||
}
|
||||
|
||||
//N.B. Based on the glutin key enum
|
||||
#[derive(Debug, PartialEq, Eq, Copy, Clone)]
|
||||
#[derive(Debug, PartialEq, Eq, Copy, Clone, Deserialize, Serialize)]
|
||||
pub enum Key {
|
||||
Space,
|
||||
Apostrophe,
|
||||
|
@ -191,6 +191,7 @@ pub enum Key {
|
|||
}
|
||||
|
||||
bitflags! {
|
||||
#[derive(Deserialize, Serialize)]
|
||||
flags KeyModifiers: u8 {
|
||||
const NONE = 0x00,
|
||||
const SHIFT = 0x01,
|
||||
|
@ -368,10 +369,10 @@ pub struct FrameId(pub u32);
|
|||
#[derive(Clone, PartialEq, Eq, Copy, Hash, Debug)]
|
||||
pub struct WorkerId(pub u32);
|
||||
|
||||
#[derive(Clone, PartialEq, Eq, Copy, Hash, Debug)]
|
||||
#[derive(Clone, PartialEq, Eq, Copy, Hash, Debug, Deserialize, Serialize)]
|
||||
pub struct PipelineId(pub u32);
|
||||
|
||||
#[derive(Clone, PartialEq, Eq, Copy, Hash, Debug)]
|
||||
#[derive(Clone, PartialEq, Eq, Copy, Hash, Debug, Deserialize, Serialize)]
|
||||
pub struct SubpageId(pub u32);
|
||||
|
||||
// The type of pipeline exit. During complete shutdowns, pipelines do not have to
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue