pub enum EmbedderToConstellationMessage {
Show 31 variants
Exit,
IsReadyToSaveImage(HashMap<PipelineId, Epoch>),
AllowNavigationResponse(PipelineId, bool),
LoadUrl(WebViewId, ServoUrl),
ClearCache,
TraverseHistory(WebViewId, TraversalDirection, TraversalId),
ChangeViewportDetails(WebViewId, ViewportDetails, WindowSizeType),
ThemeChange(WebViewId, Theme),
TickAnimation(Vec<WebViewId>),
NoLongerWaitingOnAsynchronousImageUpdates(Vec<PipelineId>),
WebDriverCommand(WebDriverCommandMsg),
Reload(WebViewId),
LogEntry(Option<WebViewId>, Option<String>, LogEntry),
NewWebView(ServoUrl, WebViewId, ViewportDetails),
CloseWebView(WebViewId),
SendError(Option<WebViewId>, String),
FocusWebView(WebViewId, FocusId),
BlurWebView,
ForwardInputEvent(WebViewId, InputEvent, Option<CompositorHitTestResult>),
RefreshCursor(PipelineId),
ToggleProfiler(Duration, Duration),
ExitFullScreen(WebViewId),
MediaSessionAction(MediaSessionActionType),
SetWebViewThrottled(WebViewId, bool),
SetScrollStates(PipelineId, HashMap<ExternalScrollId, LayoutVector2D>),
PaintMetric(PipelineId, PaintMetricEvent),
EvaluateJavaScript(WebViewId, JavaScriptEvaluationId, String),
CreateMemoryReport(IpcSender<MemoryReportResult>),
SendImageKeysForPipeline(PipelineId, Vec<ImageKey>),
SetWebDriverResponseSender(IpcSender<WebDriverCommandResponse>),
PreferencesUpdated(Vec<(&'static str, PrefValue)>),
}
Expand description
Messages to the Constellation from the embedding layer, whether from ServoRenderer
or
from libservo
itself.
Variants§
Exit
Exit the constellation.
IsReadyToSaveImage(HashMap<PipelineId, Epoch>)
Query the constellation to see if the current compositor output is stable
Whether to allow script to navigate.
LoadUrl(WebViewId, ServoUrl)
Request to load a page.
ClearCache
Clear the network cache.
TraverseHistory(WebViewId, TraversalDirection, TraversalId)
Request to traverse the joint session history of the provided browsing context.
ChangeViewportDetails(WebViewId, ViewportDetails, WindowSizeType)
Inform the Constellation that a WebView
’s ViewportDetails
have changed.
ThemeChange(WebViewId, Theme)
Inform the constellation of a theme change.
TickAnimation(Vec<WebViewId>)
Requests that the constellation instruct script/layout to try to layout again and tick animations.
NoLongerWaitingOnAsynchronousImageUpdates(Vec<PipelineId>)
Notify the ScriptThread
that the Servo renderer is no longer waiting on
asynchronous image uploads for the given Pipeline
. These are mainly used
by canvas to perform uploads while the display list is being built.
WebDriverCommand(WebDriverCommandMsg)
Dispatch a webdriver command
Reload(WebViewId)
Reload a top-level browsing context.
LogEntry(Option<WebViewId>, Option<String>, LogEntry)
A log entry, with the top-level browsing context id and thread name
NewWebView(ServoUrl, WebViewId, ViewportDetails)
Create a new top level browsing context.
CloseWebView(WebViewId)
Close a top level browsing context.
SendError(Option<WebViewId>, String)
Panic a top level browsing context.
FocusWebView(WebViewId, FocusId)
Make a webview focused. [EmbedderMsg::WebViewFocused] will be sent with the result of this operation.
BlurWebView
Make none of the webviews focused.
ForwardInputEvent(WebViewId, InputEvent, Option<CompositorHitTestResult>)
Forward an input event to an appropriate ScriptTask.
RefreshCursor(PipelineId)
Request that the given pipeline refresh the cursor by doing a hit test at the most recently hovered cursor position and resetting the cursor. This happens after a display list update is rendered.
ToggleProfiler(Duration, Duration)
Enable the sampling profiler, with a given sampling rate and max total sampling duration.
ExitFullScreen(WebViewId)
Request to exit from fullscreen mode
MediaSessionAction(MediaSessionActionType)
Media session action.
SetWebViewThrottled(WebViewId, bool)
Set whether to use less resources, by stopping animations and running timers at a heavily limited rate.
SetScrollStates(PipelineId, HashMap<ExternalScrollId, LayoutVector2D>)
The Servo renderer scrolled and is updating the scroll states of the nodes in the given pipeline via the constellation.
PaintMetric(PipelineId, PaintMetricEvent)
Notify the constellation that a particular paint metric event has happened for the given pipeline.
EvaluateJavaScript(WebViewId, JavaScriptEvaluationId, String)
Evaluate a JavaScript string in the context of a WebView
. When execution is complete or an
error is encountered, a correpsonding message will be sent to the embedding layer.
CreateMemoryReport(IpcSender<MemoryReportResult>)
Create a memory report and return it via the ipc sender
SendImageKeysForPipeline(PipelineId, Vec<ImageKey>)
Sends the generated image key to the image cache associated with this pipeline.
SetWebDriverResponseSender(IpcSender<WebDriverCommandResponse>)
Set WebDriver input event handled sender.
PreferencesUpdated(Vec<(&'static str, PrefValue)>)
A set of preferences were updated with the given new values.
Trait Implementations§
Source§impl<'_derivative_strum> From<&'_derivative_strum EmbedderToConstellationMessage> for &'static str
impl<'_derivative_strum> From<&'_derivative_strum EmbedderToConstellationMessage> for &'static str
Source§fn from(x: &'_derivative_strum EmbedderToConstellationMessage) -> &'static str
fn from(x: &'_derivative_strum EmbedderToConstellationMessage) -> &'static str
Source§impl From<EmbedderToConstellationMessage> for &'static str
impl From<EmbedderToConstellationMessage> for &'static str
Source§fn from(x: EmbedderToConstellationMessage) -> &'static str
fn from(x: EmbedderToConstellationMessage) -> &'static str
Auto Trait Implementations§
impl Freeze for EmbedderToConstellationMessage
impl !RefUnwindSafe for EmbedderToConstellationMessage
impl Send for EmbedderToConstellationMessage
impl !Sync for EmbedderToConstellationMessage
impl Unpin for EmbedderToConstellationMessage
impl UnwindSafe for EmbedderToConstellationMessage
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