pub(crate) struct PaintTimingHandler {
viewport_rect: LayoutRect,
lcp_size: f32,
lcp_next_uuid: u64,
lcp_candidate: Option<LCPCandidate>,
lcp_node: Option<OpaqueNode>,
lcp_candidate_updated: bool,
reported_image_nodes: HashSet<OpaqueNode>,
painted_images: Vec<PendingImageRecord>,
reported_text_nodes: HashSet<OpaqueNode>,
painted_text_nodes: HashMap<OpaqueNode, TextRecord>,
}Fields§
§viewport_rect: LayoutRectThe rect of viewport.
lcp_size: f32The document’s largest contentful paint size
lcp_next_uuid: u64Counter for generating unique LCP candidate UUIDs.
lcp_candidate: Option<LCPCandidate>The LCP candidate, it may be a image or text.
lcp_node: Option<OpaqueNode>The DOM node for the LCP candidate. Only used in ReflowResult
lcp_candidate_updated: boolFlag to indicate if there is an update to LCP candidate.
This is used to avoid sending duplicate LCP candidates to Paint.
reported_image_nodes: HashSet<OpaqueNode>The set of image nodes that have been reported as LCP candidates.
painted_images: Vec<PendingImageRecord>§reported_text_nodes: HashSet<OpaqueNode>The set of text nodes that have been reported as LCP candidates.
painted_text_nodes: HashMap<OpaqueNode, TextRecord>Implementations§
Source§impl PaintTimingHandler
impl PaintTimingHandler
pub(crate) fn new(viewport_size: LayoutSize) -> Self
pub(crate) fn append_image_record( &mut self, tag: Option<Tag>, bounds: LayoutRect, clip_rect: LayoutRect, transform: FastLayoutTransform, url: Option<ServoUrl>, natural_width: Option<Au>, natural_height: Option<Au>, )
pub(crate) fn accumulate_text_rect( &mut self, tag: Tag, rect: LayoutRect, transform: FastLayoutTransform, )
pub(crate) fn check_bounding_rect( &self, bounds: LayoutRect, clip_rect: LayoutRect, ) -> bool
Sourcefn effective_visual_size(
&self,
intersection_rect: LayoutRect,
candidate_type: LCPCandidateType<'_>,
) -> Option<f32>
fn effective_visual_size( &self, intersection_rect: LayoutRect, candidate_type: LCPCandidateType<'_>, ) -> Option<f32>
Sourcepub(crate) fn compute_new_lcp_candidate(&mut self)
pub(crate) fn compute_new_lcp_candidate(&mut self)
pub(crate) fn did_lcp_candidate_update(&self) -> bool
pub(crate) fn unset_lcp_candidate_updated(&mut self)
pub(crate) fn largest_contentful_paint_candidate(&self) -> Option<LCPCandidate>
pub(crate) fn lcp_node(&self) -> Option<OpaqueNode>
Auto Trait Implementations§
impl Freeze for PaintTimingHandler
impl RefUnwindSafe for PaintTimingHandler
impl Send for PaintTimingHandler
impl Sync for PaintTimingHandler
impl Unpin for PaintTimingHandler
impl UnsafeUnpin for PaintTimingHandler
impl UnwindSafe for PaintTimingHandler
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
Mutably borrows from an owned value. Read more
Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. Read more
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>
Converts
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>
Converts
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 moreSource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert