pub enum CompositorMsg {
Show 19 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(DocumentId, bool),
PipelineExited(PipelineId, IpcSender<()>),
PendingPaintMetric(PipelineId, Epoch),
LoadComplete(TopLevelBrowsingContextId),
WebDriverMouseButtonEvent(MouseEventType, MouseButton, f32, f32),
WebDriverMouseMoveEvent(f32, f32),
CrossProcess(CrossProcessCompositorMessage),
}
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(DocumentId, bool)
WebRender has produced a new frame. This message informs the compositor that
the frame is ready. It contains a bool to indicate if it needs to composite and the
DocumentId
of the new frame.
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
CrossProcess(CrossProcessCompositorMessage)
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 !Freeze for CompositorMsg
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>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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