pub(crate) struct ConstellationWebView {
webview_id: WebViewId,
pub active_top_level_pipeline_id: Option<PipelineId>,
pub active_top_level_pipeline_epoch: Epoch,
pub focused_browsing_context_id: BrowsingContextId,
pub hovered_browsing_context_id: Option<BrowsingContextId>,
pub last_mouse_move_point: Point2D<f32, CSSPixel>,
pub session_history: JointSessionHistory,
pub user_content_manager_id: Option<UserContentManagerId>,
theme: Theme,
pub accessibility_active: bool,
}Expand description
The Constellation’s view of a WebView in the embedding layer. This tracks all of the
Constellation state for this WebView.
Fields§
§webview_id: WebViewIdThe WebViewId of this ConstellationWebView.
active_top_level_pipeline_id: Option<PipelineId>The PipelineId of the currently active pipeline at the top level of this WebView.
active_top_level_pipeline_epoch: EpochA counter for changes to Self::active_top_level_pipeline_id.
focused_browsing_context_id: BrowsingContextIdThe currently focused browsing context in this webview for key events. The focused pipeline is the current entry of the focused browsing context.
hovered_browsing_context_id: Option<BrowsingContextId>The BrowsingContextId of the currently hovered browsing context, to use for
knowing which frame is currently receiving cursor events.
last_mouse_move_point: Point2D<f32, CSSPixel>The last mouse move point in the coordinate space of the Pipeline that it happened int.
session_history: JointSessionHistoryThe joint session history for this webview.
user_content_manager_id: Option<UserContentManagerId>The UserContentManagerId for all pipelines in this WebView. This is Some
if the embedder has set a UserContentManager using the WebViewBuilder API and
it is None otherwise.
theme: ThemeThe Theme that this ConstellationWebView uses. This is communicated to all
ScriptThreads so that they know how to render the contents of a particular `WebView.
accessibility_active: boolWhether accessibility is active for this webview.
Set by crate::Constellation::set_accessibility_active(), and forwarded to the
webview’s active pipelines (of those that represent documents) at any given moment
via ScriptThreadMessage::SetAccessibilityActive in set_accessibility_active()
and crate::Constellation::set_frame_tree_for_webview().
Implementations§
Source§impl ConstellationWebView
impl ConstellationWebView
pub(crate) fn new( webview_id: WebViewId, focused_browsing_context_id: BrowsingContextId, user_content_manager_id: Option<UserContentManagerId>, ) -> Self
Sourcepub(crate) fn set_theme(&mut self, new_theme: Theme) -> bool
pub(crate) fn set_theme(&mut self, new_theme: Theme) -> bool
Set the Theme on this ConstellationWebView returning true if the theme changed.
Sourcepub(crate) fn theme(&self) -> Theme
pub(crate) fn theme(&self) -> Theme
Get the Theme of this ConstellationWebView.
fn target_pipeline_id_for_input_event( &self, event: &ConstellationInputEvent, browsing_contexts: &FxHashMap<BrowsingContextId, BrowsingContext>, ) -> Option<PipelineId>
Sourcepub(crate) fn forward_input_event(
&mut self,
event: ConstellationInputEvent,
pipelines: &FxHashMap<PipelineId, Pipeline>,
browsing_contexts: &FxHashMap<BrowsingContextId, BrowsingContext>,
) -> bool
pub(crate) fn forward_input_event( &mut self, event: ConstellationInputEvent, pipelines: &FxHashMap<PipelineId, Pipeline>, browsing_contexts: &FxHashMap<BrowsingContextId, BrowsingContext>, ) -> bool
Forward the InputEvent to this ConstellationWebView. Returns false if
the event could not be forwarded or true otherwise.
Auto Trait Implementations§
impl Freeze for ConstellationWebView
impl !RefUnwindSafe for ConstellationWebView
impl Send for ConstellationWebView
impl Sync for ConstellationWebView
impl Unpin for ConstellationWebView
impl UnsafeUnpin for ConstellationWebView
impl !UnwindSafe for ConstellationWebView
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