pub(crate) struct ReplacedContents {
base_fragment_info: BaseFragmentInfo,
pub kind: ReplacedContentKind,
pub is_content_replacement: bool,
pub selected: Arc<AtomicBool>,
pub selected_style: ArcRefCell<Arc<ComputedValues>>,
natural_size: NaturalSizes,
}Fields§
§base_fragment_info: BaseFragmentInfo§kind: ReplacedContentKind§is_content_replacement: boolWhether or not this ReplacedContents is due to content replacement, i.e.
content: <image> in style.
selected: Arc<AtomicBool>Whether or not this replaced element is selected by the document selection.
selected_style: ArcRefCell<Arc<ComputedValues>>The style to use for selection overlays on top of this replaced content.
natural_size: NaturalSizesThe natural size of this replaced content.
Implementations§
Source§impl ReplacedContents
impl ReplacedContents
pub fn for_element( node: ServoLayoutNode<'_>, context: &LayoutContext<'_>, ) -> Option<Self>
fn svg_kind_size( svg_data: SVGElementData<'_>, context: &LayoutContext<'_>, node: ServoLayoutNode<'_>, ) -> (ReplacedContentKind, NaturalSizes)
fn from_content_property( node: ServoLayoutNode<'_>, context: &LayoutContext<'_>, ) -> Option<Self>
pub fn from_image_url( node: ServoLayoutNode<'_>, context: &LayoutContext<'_>, image_url: &ComputedUrl, ) -> Option<Self>
pub fn from_image( element: ServoLayoutNode<'_>, context: &LayoutContext<'_>, image: &ComputedImage, ) -> Option<Self>
pub(crate) fn zero_sized_invalid_image( node: ServoLayoutNode<'_>, context: &LayoutContext<'_>, ) -> Self
fn is_broken_image(&self) -> bool
fn content_size( &self, axis: Direction, preferred_aspect_ratio: Option<AspectRatio>, get_size_in_opposite_axis: &dyn Fn() -> SizeConstraint, get_fallback_size: &dyn Fn() -> Au, ) -> Au
fn calculate_fragment_rect( &self, style: &ServoArc<ComputedValues>, size: PhysicalSize<Au>, ) -> (PhysicalSize<Au>, PhysicalRect<Au>)
pub fn make_fragments( &self, layout_context: &LayoutContext<'_>, style: &ServoArc<ComputedValues>, size: PhysicalSize<Au>, ) -> Vec<Fragment>
pub(crate) fn preferred_aspect_ratio( &self, style: &ComputedValues, padding_border_sums: &LogicalVec2<Au>, ) -> Option<AspectRatio>
Sourcepub(crate) fn fallback_inline_size(&self, writing_mode: WritingMode) -> Au
pub(crate) fn fallback_inline_size(&self, writing_mode: WritingMode) -> Au
The inline size that would result from combining the natural size and the default object size, but disregarding the specified size. https://drafts.csswg.org/css-images-3/#natural-dimensions https://drafts.csswg.org/css-images-3/#default-object-size https://drafts.csswg.org/css-images-3/#specified-size
Sourcepub(crate) fn fallback_block_size(&self, writing_mode: WritingMode) -> Au
pub(crate) fn fallback_block_size(&self, writing_mode: WritingMode) -> Au
The block size that would result from combining the natural size and the default object size, but disregarding the specified size. https://drafts.csswg.org/css-images-3/#natural-dimensions https://drafts.csswg.org/css-images-3/#default-object-size https://drafts.csswg.org/css-images-3/#specified-size
pub(crate) fn logical_natural_sizes( &self, writing_mode: WritingMode, ) -> LogicalVec2<Option<Au>>
pub(crate) fn layout_style<'a>( &self, base: &'a LayoutBoxBase, ) -> LayoutStyle<'a>
pub(crate) fn layout( &self, layout_context: &LayoutContext<'_>, containing_block_for_children: &ContainingBlock<'_>, preferred_aspect_ratio: Option<AspectRatio>, base: &LayoutBoxBase, lazy_block_size: &LazySize<'_>, ) -> IndependentFormattingContextLayoutResult
Sourcepub(crate) fn set_selection(&self, selected: bool) -> bool
pub(crate) fn set_selection(&self, selected: bool) -> bool
Set whether or not this ReplacedContents is selected. Returns true if anything
changed.
Trait Implementations§
Source§impl ComputeInlineContentSizes for ReplacedContents
impl ComputeInlineContentSizes for ReplacedContents
fn compute_inline_content_sizes( &self, _: &LayoutContext<'_>, constraint_space: &ConstraintSpace<'_>, ) -> InlineContentSizesResult
Source§fn compute_inline_content_sizes_with_fixup(
&self,
layout_context: &LayoutContext<'_>,
constraint_space: &ConstraintSpace<'_>,
) -> InlineContentSizesResult
fn compute_inline_content_sizes_with_fixup( &self, layout_context: &LayoutContext<'_>, constraint_space: &ConstraintSpace<'_>, ) -> InlineContentSizesResult
Self::compute_inline_content_sizes(), but adjusted
to floor the max-content size by the min-content size.
This is being discussed in https://github.com/w3c/csswg-drafts/issues/12076.Source§impl Debug for ReplacedContents
impl Debug for ReplacedContents
Source§impl MallocSizeOf for ReplacedContents
impl MallocSizeOf for ReplacedContents
Source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Auto Trait Implementations§
impl Freeze for ReplacedContents
impl !RefUnwindSafe for ReplacedContents
impl Send for ReplacedContents
impl Sync for ReplacedContents
impl Unpin for ReplacedContents
impl UnsafeUnpin for ReplacedContents
impl !UnwindSafe for ReplacedContents
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