pub enum CompositorMsg {
Show 22 variants
ShutdownComplete,
ChangeRunningAnimationsState(PipelineId, AnimationState),
CreateOrUpdateWebView(SendableFrameTree),
RemoveWebView(TopLevelBrowsingContextId),
MoveResizeWebView(TopLevelBrowsingContextId, DeviceRect),
ShowWebView(TopLevelBrowsingContextId, bool),
HideWebView(TopLevelBrowsingContextId),
RaiseWebViewToTop(TopLevelBrowsingContextId, bool),
TouchEventProcessed(EventResult),
CreatePng(Option<Rect<f32, CSSPixel>>, IpcSender<Option<Image>>),
IsReadyToSaveImageReply(bool),
SetThrottled(PipelineId, bool),
NewWebRenderFrameReady(bool),
PipelineExited(PipelineId, IpcSender<()>),
PendingPaintMetric(PipelineId, Epoch),
LoadComplete(TopLevelBrowsingContextId),
WebDriverMouseButtonEvent(MouseEventType, MouseButton, f32, f32),
WebDriverMouseMoveEvent(f32, f32),
GetClientWindow(IpcSender<(DeviceIntSize, DeviceIntPoint)>),
GetScreenSize(IpcSender<DeviceIntSize>),
GetScreenAvailSize(IpcSender<DeviceIntSize>),
Forwarded(ForwardedToCompositorMsg),
}
Expand description
Messages from (or via) the constellation thread to the compositor.
Variants§
ShutdownComplete
Informs the compositor that the constellation has completed shutdown. Required because the constellation can have pending calls to make (e.g. SetFrameTree) at the time that we send it an ExitMsg.
ChangeRunningAnimationsState(PipelineId, AnimationState)
Alerts the compositor that the given pipeline has changed whether it is running animations.
CreateOrUpdateWebView(SendableFrameTree)
Create or update a webview, given its frame tree.
RemoveWebView(TopLevelBrowsingContextId)
Remove a webview.
MoveResizeWebView(TopLevelBrowsingContextId, DeviceRect)
Move and/or resize a webview to the given rect.
ShowWebView(TopLevelBrowsingContextId, bool)
Start painting a webview, and optionally stop painting all others.
HideWebView(TopLevelBrowsingContextId)
Stop painting a webview.
RaiseWebViewToTop(TopLevelBrowsingContextId, bool)
Start painting a webview on top of all others, and optionally stop painting all others.
TouchEventProcessed(EventResult)
Script has handled a touch event, and either prevented or allowed default actions.
CreatePng(Option<Rect<f32, CSSPixel>>, IpcSender<Option<Image>>)
Composite to a PNG file and return the Image over a passed channel.
IsReadyToSaveImageReply(bool)
A reply to the compositor asking if the output image is stable.
SetThrottled(PipelineId, bool)
Set whether to use less resources by stopping animations.
NewWebRenderFrameReady(bool)
WebRender has produced a new frame. This message informs the compositor that the frame is ready, so that it may trigger a recomposite.
PipelineExited(PipelineId, IpcSender<()>)
A pipeline was shut down.
PendingPaintMetric(PipelineId, Epoch)
Indicates to the compositor that it needs to record the time when the frame with the given ID (epoch) is painted and report it to the layout of the given pipeline ID.
LoadComplete(TopLevelBrowsingContextId)
The load of a page has completed
WebDriverMouseButtonEvent(MouseEventType, MouseButton, f32, f32)
WebDriver mouse button event
WebDriverMouseMoveEvent(f32, f32)
WebDriver mouse move event
GetClientWindow(IpcSender<(DeviceIntSize, DeviceIntPoint)>)
Get Window Informations size and position.
GetScreenSize(IpcSender<DeviceIntSize>)
Get screen size.
GetScreenAvailSize(IpcSender<DeviceIntSize>)
Get screen available size.
Forwarded(ForwardedToCompositorMsg)
Messages forwarded to the compositor by the constellation from other crates. These messages are mainly passed on from the compositor to WebRender.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for CompositorMsg
impl Send for CompositorMsg
impl !Sync for CompositorMsg
impl Unpin for CompositorMsg
impl !UnwindSafe for CompositorMsg
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where F: FnOnce(&Self) -> bool,
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more